如何在PHP中检查该字符串是否只有UTF8中的国际字母和空格?

时间:2008-11-12 23:15:58

标签: php utf-8 utf

在Python中我可以将它转换为Unicode并执行'(?u)^ [\ w] + $'正则表达式搜索,但PHP似乎不了解国际\ w,或者它是什么?

3 个答案:

答案 0 :(得分:8)

虽然我没有测试过自己,但是http://us3.php.net/manual/en/reference.pcre.pattern.syntax.php显示以下内容:'/ ^ [\ p {L}] + $ / u'会起作用 - \ p {L}将匹配任何unicode信件。另外,你可以在没有大括号的情况下写出这个 - '/ ^ [\ pL] + $ / u'。

答案 1 :(得分:1)

afaik PHP不知道utf8,这意味着php本身将无法以字节方式处理它。

PHP认为一切都是latin1,但是有些扩展可能对你有用,比如mbstring。

http://se.php.net/mbstring

答案 2 :(得分:0)

让UNICODE在代码库中的任何地方正常工作是PHP6的“重要”功能之一。

在此之前,由于可能从中发展出许多安全问题,因此建议 NOT 在php中使用UNICODE。

许多代码都不是UNICODE意识到的,因此不安全,漏洞可以通过非常不愉快的方式来解决它。