使用ascii代码32 - 47删除所有字符,并从字符串中删除更多字符

时间:2017-10-26 21:11:36

标签: php regex

我想删除所有带有ascii代码32 - 47的字符以及更多来自字符串的字符。完全!"#$%&'()*+,-./\~

我试过了:

$string = preg_replace('/\s\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\\~/', '', $string);

但它返回了假。我究竟做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

要使用字符,只需在字符类中包含它们:

$string = preg_replace(':[\s!"#$%&\'()*+,-./\\\~]:', '', $string);

或者使用ASCII十六进制作为范围和字符:

[\x20-\x2f\x5c\x7e]

或者使用范围内的实际字符,只要您从第一个(空格)开始并以范围中的最后一个/结束,然后添加其余字符:

[ -/\\\~]