2010-08-30 55 views
3

我有點困惑。我通過我寫入的基本清理功能來運行所有輸入,只允許某些字符,但[]等字符仍然被允許。RegEx白名單問題

function sanitize($input) { 
$pattern = "/[^a-zA-z0-9_-]/"; 
$filtered = preg_replace($pattern, "", $input); 
return $filtered;} 

任何想法爲什麼這樣做?

回答

2

你必須利用第二個 「Z」:「/ [^ A-ZA-Z0-9_-] /「

4

添加到其他答案。

[a-zA-Z0-9_]\w相同,爲單詞char。

所以[^a-zA-Z0-9_-]可以寫成[^\w-]

+0

darn,錯過了那個=) – VolkerK 2010-08-30 12:19:11