preg_matchを使用して、文字列でペルシャ語(farsi)文字を検出する
-
30-09-2019 - |
質問
サーバー側のフォームデータを検証しようとしています。私の興味は、ユーザーがペルシャのキャラクターによってフォームに記入するだけだということです。
私はこのコードを使用しています:
$name=trim($_POST['name']);
$name= mysql_real_escape_string($name);
if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";}
しかし、それは機能していません!
これが警告です:
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in C:\xampp\htdocs\site\form.php on line 38
私に何ができる?
解決
これは機能するはずです...
**オープニングの後に ^を追加しました[アラビア語/ファルシのキャラクターを試合から除外して...
if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))
他のヒント
http://utf8-chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1
600〜6ffの範囲
FAのみ:
preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);
en、en-numおよびfaキャラクター:
preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);
FA番号またはアラビア語を設定できます
これを使用する必要があります:
if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
この正規表現:
if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
数字とスペースが含まれていますか?
所属していません StackOverflow