我发现u
在处理 UTF-8 字符串时使用修饰符有时会有所帮助,但在我的 Linux 服务器上,它会替换变音符号,-
而不是像在我的 Windows 服务器上一样保留它。
mb_internal_encoding('UTF-8');
function clean($string) {
return preg_replace('/[^[:alnum:]]/ui', '-', $string);
}
echo clean("Test: föG");
Linux:
Test--f-G
Windows(应该如此):
Test--föG