<?
$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"; }
?>
$string2 が null を与えるのはなぜですか? 'ä' 文字の何がそんなに特別なのですか? 他のスウェーデン語の å と ö は正規表現をうまく通過します。
私の正規表現の修正に感謝します。その正規表現で定義された特殊文字を除くすべてを許可したい。
編集:
明確化: 私がやりたいことは、特殊文字のリスト以外は何でも通過させることです。$string2 と 3 は両方通過する必要がありますが、$string 1 は通過しません (< と > のため)。