我有一个utf-8 php文件中的以下php代码: var_dump(setlocale(LC_CTYPE, 'de_DE.utf8', 'German_Germany.utf-8', 'de_DE', 'german')); var_dump(mb_internal_encoding()); var_dump(mb_internal_encoding('utf-8')); var_dump(mb_internal_encoding()); var_dump(mb_regex_encoding()); var_dump(mb_regex_encoding('utf-8')); var_dump(mb_regex_encoding()); var_dump(preg_replace('/\bweiß\b/iu', 'weiss', 'weißbier')); 我想最后一个正则expression式只replace完整的单词而不是单词的一部分。 在我的Windows电脑上,它返回: string 'German_Germany.1252' (length=19) string 'ISO-8859-1' (length=10) boolean true string 'UTF-8' (length=5) string 'EUC-JP' (length=6) boolean true string 'UTF-8' (length=5) string 'weißbier' (length=9) 在networking服务器(linux)上,我得到: string(10) "de_DE.utf8" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" string(9) "weissbier" […]
在JavaScript中: "ab abc cab ab ab".replace(/\bab\b/g, "AB"); 正确给我: "AB abc cab AB AB" 当我使用utf-8字符时: "αβ αβγ γαβ αβ αβ".replace(/\bαβ\b/g, "AB"); 字边界算子似乎不工作: "αβ αβγ γαβ αβ αβ" 有没有解决这个问题?