我想删除所有带有ascii代码32 - 47的字符以及更多来自字符串的字符。完全!"#$%&'()*+,-./\~
。
我试过了:
$string = preg_replace('/\s\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\\~/', '', $string);
但它返回了假。我究竟做错了什么?感谢。
答案 0 :(得分:1)
要使用字符,只需在字符类中包含它们:
$string = preg_replace(':[\s!"#$%&\'()*+,-./\\\~]:', '', $string);
或者使用ASCII十六进制作为范围和字符:
[\x20-\x2f\x5c\x7e]
或者使用范围内的实际字符,只要您从第一个(空格)开始并以范围中的最后一个/
结束,然后添加其余字符:
[ -/\\\~]