我在这个问题上搜索了很长一段时间, 我想在PHP中过滤一个字符串,只允许使用单词字符和某些其他字符,如“ - ”,“。”等。
preg_replace(/\W+/,'',$str)
对于所有非单词字符,它工作得很好,添加“除了”会导致麻烦。
此外,如果您有一个彻底解释主题的来源,我很乐意深究它。这个主题要么非常复杂,要么我已经读过不好的解释。
答案 0 :(得分:3)
使用包含单词字符和您想要允许的其他字符的否定字符类。
$new_str = preg_replace('/[^-,.\w]+/', '', $str);
有关正则表达式的大量信息,请访问www.regular-expressions.info。