<?
$s = '';
$string1 = '<script>';
$string2 = 'färsk';
$string3 = 'öde';
$rex = "/[\^<@\/\{\}\!\*\$%\?=≤>€:\|;#]+/i";
if (preg_match($rex,$string1)) { $s = NULL; }
if ($s === NULL) { echo 'null'; } else { echo "not null"; }
?>
爲什麼$字符串2給空? 「ä」角色有什麼特別之處?其他瑞典的,Ö和ö通過正則表達式。PHP的正則表達式與字符 'a'
欣賞任何修復我的正則表達式。我希望它允許除正則表達式中定義的特殊字符之外的所有內容。
編輯:
澄清: 我想要做的就是讓任何東西,但通過特殊字符列表。 $ string2和3都應該通過,$ string 1不應該(因爲<和>)。
string2或3如何匹配?你不允許在正則表達式中使用字母字符。字符串只匹配,因爲它的'<' and '>'字符。 –
可能http://www.php.net/manual/en/function.preg-match.php#94424幫助你 –
@MarcB準確,我不希望他們匹配 - 但$ string2匹配反正,那是我的問題。 Ä不是一個超過Ö的特殊字符。我想讓任何東西通過,除了一些特殊的字符,如<| [等 – Mattis