echo preg_match("/\b(בדיקה|מילה)\b/iu", "זוהי בדיקה");
出于某种原因,这个编码一个特定的服务器上返回1对多台服务器,我测试了,但0。
PCRE编译时支持UTF-8和Unicode属性的支持。 可能是什么问题?
echo preg_match("/\b(בדיקה|מילה)\b/iu", "זוהי בדיקה");
出于某种原因,这个编码一个特定的服务器上返回1对多台服务器,我测试了,但0。
PCRE编译时支持UTF-8和Unicode属性的支持。 可能是什么问题?
有可能是PCRE版本的PHP应用之间的区别。
PHP和PCRE版本: http://php.net/pcre.installation
您应该使用8.10+(PHP 5.3.4+)
8.10版25军2010:
- 新增PCRE_UCP使\ B,\ d,\ S,\ w和某些POSIX字符类使用Unicode属性。 (* UCP)在模式的开始可用来设置此选项。 修改pcretest添加/ W测试这个工具。 新增REG_UCP使通过POSIX接口可用它。
编辑:只是做了一些测试,它在PHP 5.3.10和0的PHP 5.3.2和PHP 5.3.3给出了1。
这可能取决于PCRE LIB的版本。 为了使事情更加规范化,请尝试使用«UCP动词»: preg_match('/(*UCP)\b(בדיקה|מילה)\b/iu', 'זוהי בדיקה')
不过它需要PCRE V8.10,因为5.3.4 PHP运或在编译标志时提到--with-pcre-regex=DIR
。
参考文献(俄语)