我在这个网站上测试:Regex Tester
我想出了这个表达式/[\w ]/
,它完全符合我想要的网站,即选择特殊字符。
但是当我在我的PHP文件中使用它时,它无法正常工作。
在我的PHP中我有这个功能:
function removeSpecialChar($str) {
return str_replace("/[^\w ]/", "", $str);
}
例如,假设$str="asdf1234 !"#¤asd"
它应该返回"asdf1234 asd"
,但它不是,任何想法?
答案 0 :(得分:3)
当您需要基于正则表达式的替换时,请使用preg_replace。 str_replace将按原样处理给定的字符串 - 对元字符没有任何特殊含义。
$str = 'asdf1234 !\"#¤asd';
function removeSpecialChar($str) {
return preg_replace('/[^\w ]/', '', $str);
}
echo removeSpecialChar($str); // asdf1234 asd