15

サーバー側からフォームデータを検証しようとしています。私の興味は、ユーザーがペルシア文字でフォームに入力するだけであるということです。

私はこのコードを使用しています:

$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

私に何ができる?

4

4 に答える 4

15

この「すべき」は機能します...

**オープニングの後に^を追加しました[アラビア語/ペルシア語の文字を試合から除外します...

if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))
于 2011-01-07T08:11:31.053 に答える
11

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-numbersまたはアラビア語يكを設定することができます

于 2015-01-31T18:18:40.613 に答える
5

これを使用する必要があります:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
于 2013-08-10T15:05:42.263 に答える
3

この正規表現:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))

含まれている数字とスペース?

于 2014-07-30T12:08:03.590 に答える