带有俄语语言的正则表达式
我无法用正则表达式解决我的问题。
好的,当我输入:
$string = preg_replace("#\[name=([a-zA-Z0-9 .-]+)*]#","$name_start $1 $name_end",$string);
一切都很好,除了俄语的情况。
所以,我尝试重新输入这个reg-exp:
$string = preg_replace("#\[name=([a-zA-Z0-9**а-яА-Я** .-]+)*]#","$name_start $1 $name_end",$string);
但这不起作用,
我知道一些想法,只需写:
$string = preg_replace("#\[name=([a-zA-Z0-9йцукенгшщзхъфывапролджэячсмитьбю .-]+)*]#","$name_start $1 $name_end",$string);
但这太疯狂了:D
请给我简单的变体
I can't solve my problem with regexp.
Ok, when i type:
$string = preg_replace("#\[name=([a-zA-Z0-9 .-]+)*]#","$name_start $1 $name_end",$string);
everything is ok, except situation with Russian language.
so, i try to re-type this reg-exp:
$string = preg_replace("#\[name=([a-zA-Z0-9**а-яА-Я** .-]+)*]#","$name_start $1 $name_end",$string);
but this not working,
i know some idea, just write:
$string = preg_replace("#\[name=([a-zA-Z0-9йцукенгшщзхъфывапролджэячсмитьбю .-]+)*]#","$name_start $1 $name_end",$string);
but this is crazy :D
please, give me simple variant
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试 Unicode 范围:
不要忘记 Unicode 的 /u 标志。
在您的情况下:
请注意,正则表达式中的 STAR 是多余的。一切都已经被PLUS“吃掉”了。这会起到同样的作用:
Try a Unicode range:
Don't forget the /u flag for Unicode.
In your case:
Note that the STAR in your regex is redundant. Everything already gets "eaten" by the PLUS. This would do the same:
通用 unicode 脚本(自 pcre 3.3 起受支持)提供了对属性 Cyrillic 的测试。
例如,替换所有既不是西里尔字母也不是(拉丁)数字的字符:
您可以在 http 下找到该功能的文档: //www.pcre.org/pcre.txt“Unicode 字符属性”。
并且您必须指定 PCRE8 标志 (u),如 http://docs.php 中所述.net/reference.pcre.pattern.modifiers
The common unicode script (supported since pcre 3.3) provides a test for the property Cyrillic.
e.g. replace all characters that are neither cyrillic nor (latin) digits:
You can find the documentation for that feature under http://www.pcre.org/pcre.txt "Unicode character properties".
And you have to specify the PCRE8 flag (u) as described at http://docs.php.net/reference.pcre.pattern.modifiers
这个对我有用:
我已经在包括 Safari 在内的所有浏览器中进行了测试
This one worked for me:
I have tested in all the browsers including Safari
互联网上最常用的字母之一。
我相信从 php 5.6 开始,这个功能已经工作了一段时间了。
Among the most used alphabet in the internet.
This works since a good while now, I believe since php 5.6.