PHP preg_replace除"-"、"."等以外的非单词字符(W)


PHP preg_replace Character that is not a word character (W) except:"-",".", etc

我已经搜索了很长一段时间,我想在PHP中过滤字符串,只允许单词字符和某些其他字符,如"-","。"等。

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

对于所有非单词字符,它工作得很好,但添加"except from"会引起麻烦。

另外,如果你有一个来源,解释这个主题彻底,我很乐意得到它的底部。这个题目不是很复杂就是我读过不好的解释

使用一个否定的字符类,其中包括word字符和您希望允许的其他字符。

$new_str = preg_replace('/[^-,.'w]+/', '', $str);

关于正则表达式的大量信息可以在www.regular-expressions.info找到。