Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查字符串在PHP的UTF8中只有国际字母和空格?_Php_Utf 8_Utf - Fatal编程技术网

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

如何检查字符串在PHP的UTF8中只有国际字母和空格?,php,utf-8,utf,Php,Utf 8,Utf,在Python中,我可以将其转换为Unicode并进行“(?u)^[\w]+$”正则表达式搜索,但PHP似乎不懂国际语言,或者说是吗?虽然我还没有测试过自己,但查看一下建议:“/^[\p{L}]+$/u”可以工作-这个\p{L}将匹配任何Unicode字母。此外,显然,您可以在不使用大括号的情况下编写此代码-“/^[\pL]+$/u”。afaik PHP不知道utf8,这意味着PHP本身将无法处理它而不是字节方式 PHP相信一切都是拉丁语,但也有一些扩展可能对您有用,比如mbstring 让UN

在Python中,我可以将其转换为Unicode并进行“(?u)^[\w]+$”正则表达式搜索,但PHP似乎不懂国际语言,或者说是吗?

虽然我还没有测试过自己,但查看一下建议:“/^[\p{L}]+$/u”可以工作-这个\p{L}将匹配任何Unicode字母。此外,显然,您可以在不使用大括号的情况下编写此代码-“/^[\pL]+$/u”。

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

PHP相信一切都是拉丁语,但也有一些扩展可能对您有用,比如mbstring


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

在此之前,我们建议您不要在php中使用UNICODE,因为它可能会引发许多安全问题


很多代码都不支持UNICODE,因此不安全,漏洞利用会以令人不快的方式通过它

太好了!作为一种魅力:打印预匹配('/^[\p{L}]+$/u','Пццццц');After\作为名称空间分隔符-我不信任PHP中的任何东西,当然也不会等到PHP6:)但感谢您的预防。