有沒有人知道爲什麼下面的filter_var()函數會生成警告?字符類中可以有多少個字符是否有限制?PHP的filter_var()函數生成警告
$regex = "/^[\w\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\072\073\074\075\076\077\100\133\134\135\136\140\173\174\175\176]*$/";
$string = "abc";
if(!filter_var($string, FILTER_VALIDATE_REGEXP, array("options" => array("regexp"=>$regex))))
{
echo "dirty";
}
else
{
echo "clean";
}
警告:filter_var()[function.filter-VAR]:未知的修飾詞 ':'
謝謝您的幫助。它現在可以工作,因爲我使用它的ASII代碼「134」添加了反斜槓。我將在下面的另一個答案當前正則表達式。 – lanmind 2009-09-09 20:22:16
不客氣:-)但我的腦海裏有一個問題:爲什麼你使用ASCII碼,而不是直接輸入字符?理解你的正則表達式會更容易,那樣,你不覺得嗎? – 2009-09-10 04:09:55
我在3秒左右就考慮過了,哈哈!答案是,我在之前使用了空格字符的ANCII代碼,之後我的後腦就告訴我要爲特殊字符做這件事。我有可能改變我的方式:) – lanmind 2009-09-10 05:47:22