PHP正则表达式替换了不是很多字符的所有内容

时间:2012-02-28 03:59:56

标签: php regex replace preg-replace

我需要一个preg-replace函数来替换不是的所有东西:

a-zA-Z0-9 .,:;!?()~=+-_\/@$#&%'"

我对正则表达式很糟糕所以我不知道如何逃避需要的东西以及诸如此类的东西。提前谢谢!

哦,顺便说一下,我正在寻找替换它什么都没有,只是为了清楚这一点

2 个答案:

答案 0 :(得分:1)

开始玩正则表达式的好地方是http://gskinner.com/RegExr/我发现大多数时候如果我只是在这里玩一下,我能够找到我正在寻找的东西。举个例子,你可能会尝试类似的东西。

[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]

将它放在RegExr中会显示没有选择任何内容,但是如果你在主体的某处放入“*”,它将选择该字母。这是正则表达式的一个很棒的沙盒。您还可以查看网站http://www.regular-expressions.info/,其中包含一些很好的信息。

在你问的问题中你会使用类似的东西:

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string);

希望这有帮助!

答案 1 :(得分:1)

不要忘记逃避事情。

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string);