当preg_replace按预期工作时,PHP mb_ereg_replace不会被替换

我试图用字符串替换所有非单词字符与空字符串期望空格并将所有多个空格放在一起作为一个单独的空格.

以下代码执行此操作.

$cleanedString = preg_replace('/[^\w]/', ' ', $name);  
$cleanedString = preg_replace('/\s+/', ' ', $cleanedString);

但是,当我尝试使用mb_ereg_replace时,没有任何反应.

$cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name);  
$cleanedString = mb_ereg_replace('/\s+/', ' ', $cleanedString);

$cleaningString与上面的$name相同.我究竟做错了什么?

解决方法:

mb_ereg_replace不使用分隔符.您可能也可能不必在之前指定编码.

mb_regex_encoding("UTF-8");
//regex could also be \W
$cleanedString = mb_ereg_replace('[^\w]', ' ', $name);
$cleanedString = mb_ereg_replace('\s+', ' ', $cleanedString);
上一篇:anaconda配置清华大学开源软件镜像


下一篇:Conda和Python的国内安装源