我正在尝试构建一个正则表达式,与PHP兼容,允许重音字符,例如'ü'。 从我所了解的\ p {L}运营商应该这样做。我至今:PHP正则表达式与重音字符不匹配
/^[a-z0-9\p{L}][a-z0-9_\p{L}]*/i
这应该允许可以与任何AZ,0-9启动和重音字符,然后可以接着AZ,0-9的任何量和重音字符和字符串的整个表达式不区分大小写。
但是在测试中,当在字符串的任何位置使用诸如'ü'等字符时,验证失败。 我已经确定被传递的值进行编码UTF8使用:
utf8_encode($value)
但是它仍然失败。 有什么建议吗?
在此先感谢
-------------------------编辑------------- ------------
在另一台服务器上测试之后,原始模式也起作用。
/^[a-z0-9\p{L}][a-z0-9_\p{L}]*/i
该问题似乎与服务器设置有关。 我会在找到解决方案后发布解决方案。
尝试启用UTF修改'/.../ ui' –
不幸的是,utf修饰符没有成功。 – dooffas