如何删除所有特殊字符并在PHP中只替换一个空格?

时间:2015-08-26 10:51:31

标签: php regex

我已经使用PHP函数删除了所有特殊字符,并且只替换了一个空格()但是下面的函数将替换所有字符而不是替换为所有带空格的字符。 示例:我的字符串= hello-friend--how() are--- 结果: string = helllo friend how are . 所以这不是我想要的东西。

这是我的功能

public function remove_sp_char($str) {

    return preg_replace('/[^A-Za-z0-9\-]/', ' ', $str);// !\s+!
}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

将每个特殊字符替换为空格

preg_replace('/\W/', ' ', $str);

将相邻的特殊字符替换为空格

preg_replace('/\W+/', ' ', $str);