如何转义字符串中的一组字符

时间:2014-09-30 07:37:16

标签: php regex string escaping

所以我有一个变量说“$ x”。如果它们出现在这个字符串中,我必须转义一组特殊字符。我想要逃脱的角色是:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

我对正则表达式不是很好,但我认为这就是我应该怎么做的,是吗?

对于每个特殊角色,我可以像str_replace("+","\+",$x);一样逃避它们,但我不确定它应该如何完成。有人指点吗?

1 个答案:

答案 0 :(得分:2)

您可以使用preg_quote功能。它在作为正则表达式语法一部分的每个字符前面加上反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,这将非常有用。