我试图用字符串替换所有非单词字符与空字符串期望空格并将所有多个空格放在一起作为一个单独的空格.
以下代码执行此操作.
$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);