我们有这样的代码:
$value = preg_replace("/[^\w]/", '', $value);
where $value
是utf-8格式的。在此转换之后,多字节字符的第一个字节将被删除。如何让\w完全覆盖UTF-8字符?
抱歉,我不太擅长 PHP
你可以尝试使用 /u 修饰符 https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php:
此修饰符打开与 Perl 不兼容的 PCRE 附加功能。模式字符串被视为 UTF-8。此修饰符在 Unix 上的 PHP 4.1.0 或更高版本以及 win32 上的 PHP 4.2.3 中可用。从 PHP 4.3.5 开始检查模式的 UTF-8 有效性。
如果这不行,请尝试
-
mb_ereg_replace https://www.php.net/manual/en/function.mb-ereg-replace.php- 用多字节支持替换正则表达式
instead.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)