PHP中的\ preg_replace仅覆盖UTF-8字符的第二个字节

And*_*rey 2 php regex unicode utf-8

我们有这个代码:

$value = preg_replace("/[^\w]/", '', $value);
Run Code Online (Sandbox Code Playgroud)

其中$value是UTF-8.在此转换之后,将删除多字节字符的第一个字节.如何完全覆盖UTF-8字符?

对不起,我的PHP不太好

Gor*_*don 6

您可以尝试使用/ u修饰符:

此修饰符打开与Perl不兼容的PCRE的其他功能.模式字符串被视为UTF-8.此修饰符可从Unix上的PHP 4.1.0或更高版本以及win32上的PHP 4.2.3获得.自PHP 4.3.5起,检查模式的UTF-8有效性.

如果不这样做,试试吧

代替.