我已经遇到了这个功能,将要做的第一部分,我觉得删除非字母数字字符
preg_replace("/[^A-Za-z0-9 ]/", '', $string);
但我不希望删除“ - ”,“+”或“| ”。 我怎样才能为这些例外。
我已经遇到了这个功能,将要做的第一部分,我觉得删除非字母数字字符
preg_replace("/[^A-Za-z0-9 ]/", '', $string);
但我不希望删除“ - ”,“+”或“| ”。 我怎样才能为这些例外。
preg_replace("/[^A-Za-z0-9 +|-]/", '', $string);
试试这个:
$string = "[email protected]%+";
echo preg_replace("/[^A-Za-z0-9\+\-\| ]/", '', $string);
您也可以使用简写形式与\w
preg_replace("/[^\w\+\|\-\s]/", '', $string);
如果在第一个或最后一个位置使用,则不需要在字符类内部转义'-'。 – anubhava
@anubhava - 其实你是在两个角色之间做的。出于这个原因,我把它放在最后而没有逃脱,但是为了万一他改变了事物的顺序,我逃脱了它。 –
正确的,这就是我的意思是,如果在第一或最后一个位置使用' – anubhava