删除非字母数字字符,但有一些例外


Removing non alphanumeric character with some exceptions

我遇到了这个函数,它将完成我认为的第一部分

preg_replace("/[^A-Za-z0-9 ]/", '', $string);

但我不想删除"-"、"+"或"|"。我怎么能破例呢。

preg_replace("/[^A-Za-z0-9 +|-]/", '', $string);

您也可以将缩写形式与'w 一起使用

preg_replace("/[^'w'+'|'-'s]/", '', $string);

试试这个:

$string  = "abcdAbcd-0999345@dfsdf%+";
echo preg_replace("/[^A-Za-z0-9'+'-'| ]/", '', $string);

添加''char

preg_replace("/[^A-Za-z0-9 '-'+'|]/", '', $string);

演示:http://regexr.com?35lre