fed*_*o-t 5 php unicode utf-8 preg-replace multibyte
我有这个正则表达式用于匹配 Unicode 中的空格:
/^[\pZ\pC]+|[\pZ\pC]+$/u
Run Code Online (Sandbox Code Playgroud)
我什至不确定它的作用,但它似乎有效。现在,在这种情况下,哪个函数更适用,为什么?
$str = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $str);
Run Code Online (Sandbox Code Playgroud)
或者
$str = mb_ereg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $str);
Run Code Online (Sandbox Code Playgroud)
第一个有效。第二个没有。
再次尝试,实际上并不支持那些 Unicode 字符转义。而且它不使用正则表达式分隔符。(参见Oniguruma)mb_ereg_replace
preg_replace使用 PCRE 正则表达式引擎,它支持两者。
无论如何,不存在“更好”的应用程序。它要么起作用,要么不起作用。