PHP:使用 preg_match() 匹配奇怪的破折号
我在匹配这个字符时遇到了很大的问题: –
这是一种称为“破折号”U+2013 的东西(根据 http://www.fileformat.info/info/unicode/char/search.htm)
在我的测试环境(windows和php 5.2.11)中它与 - 匹配,但是在生产服务器(ubuntu 和 php 5.3.2)上失败。即使 \x2013 也失败了。
有什么建议如何搭配这个奇怪的角色吗?或者如何配置 php 使其工作?
I have big problems to match this character: –
It's something called a "en dash" U+2013 (according to http://www.fileformat.info/info/unicode/char/search.htm)
It's a match with - in my test environment (windows and php 5.2.11) but fails on the production servers (ubuntu and php 5.3.2). Even \x2013 fails there.
Any suggestions how to match this strange character? Or how to config php to make it work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您还可以尝试在表达式上使用“u”标志,使表达式与 utf-8 兼容:正则表达式模式修饰符
所以你的表达式将是
"/[somepatter]/u"
You can also try use the "u" flag on the expression which makes the expression compatible with utf-8: regex pattern modifiers
so your expression would be
"/[somepatter]/u"
我相信你已经有了 UTF-8 编码,不是吗?
I believe you've got an UTF-8 encoding, don't you?