问题描述
|
我在匹配此角色时遇到了很大的问题:–
这就是所谓的“破折号” U + 2013(根据http://www.fileformat.info/info/unicode/char/search.htm)
在我的测试环境(Windows和PHP 5.2.11)中与-匹配,但是在生产服务器(ubuntu和PHP 5.3.2)上失败。即使\\ x2013在那里也失败。
有什么建议如何匹配这个奇怪的字符吗?或者如何配置PHP使其工作?
解决方法
if (preg_match (\'~\\xe2\\x80\\x93~\',$string))
{
echo \"En Dash found\";
}
我相信您已经使用UTF-8编码,不是吗?
, 您也可以尝试在表达式上使用\“ u \”标志,以使表达式与utf-8兼容:regex模式修饰符
所以你的表情是\"/[somepatter]/u\"