gpt4 book ai didi

php - 在 PCRE/PHP 中匹配 Unicode 字母字符

转载 作者:IT王子 更新时间:2023-10-29 00:02:17 26 4
gpt4 key购买 nike

我正在尝试为 PHP 中的名称编写一个相当宽松的验证器,我的第一次尝试包括以下模式:

// unicode letters, apostrophe, hyphen, space
$namePattern = "/^([\\p{L}'\\- ])+$/";

这最终会传递给对 preg_match() 的调用。据我所知,这适用于您的原始 ASCII 字母表,但似乎会遇到 Ă 或张等更刺激的字符。

模式本身有问题吗?也许我期望 \p{L} 比我想象的做更多的工作?

或者它是否与输入的传递方式有关?我不确定它是否相关,但我确实确保在表单页面上指定了 UTF8 编码。

最佳答案

我认为问题比这简单得多:您忘记指定 u modifier . Unicode 字符属性为 only available in UTF-8 mode .

你的正则表达式应该是:

// unicode letters, apostrophe, hyphen, space
$namePattern = '/^[-\' \p{L}]+$/u';

关于php - 在 PCRE/PHP 中匹配 Unicode 字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com