Php 使用preg_匹配检测字符串中的波斯语(波斯语)字符

Php 使用preg_匹配检测字符串中的波斯语(波斯语)字符,php,unicode,preg-match,persian,Php,Unicode,Preg Match,Persian,我正在尝试从服务器端验证表单数据。 我感兴趣的是,用户只需用波斯语字符填写表单 我正在使用以下代码: $name=trim($_POST['name']); $name= mysql_real_escape_string($name); if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";} 但它不起作用 这里有一个警告: War

我正在尝试从服务器端验证表单数据。 我感兴趣的是,用户只需用波斯语字符填写表单

我正在使用以下代码:

$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)))
您应该使用以下选项:

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

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

在600-6FF范围内

仅限fa:

preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);
en、en num和fa字符:

 preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);
您可以设置fa编号或阿拉伯语يك