使用 preg_match 检测字符串中的波斯语(波斯语)字符
我正在尝试验证来自服务器端的表单数据。 我感兴趣的是用户只需用波斯语字符填写表格即可。
我正在使用这段代码:
$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
我能做什么?
I am trying to validate form data from server-side.
my interest is that the user just fill the form by Persian characters.
I am using this code:
$name=trim($_POST['name']);
$name= mysql_real_escape_string($name);
if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";}
but it is not working!
here is a warning:
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
What can I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个“应该”有效...
** 在开头 [ 之后添加了 ^ 以从匹配中排除阿拉伯/波斯语字符...
This 'should' work...
** added a ^ after the opening [ to exclude arabic/farsi characters from the match...
http ://utf8-chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1
600 - 6FF 范围
内的 fa :
仅限 en 、 en-num 和 fa 字符:
您可以设置 fa 数字或阿拉伯文 й ك
http://utf8-chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1
پژگچ in 600 - 6FF range
fa only:
en , en-num and fa character:
you can set fa-numbers or arabic ي ك
你应该使用这个:
You should use this: