addslash()for preg_replace()和co。?

时间:2009-12-17 11:21:44

标签: php regex

如何逃避传入的数据,以便将其用作preg_replace()中的模式并进行配合?例如,我需要匹配此字符串:

/vorschau/

显然,我需要逃避“v”,否则我会收到错误。

我在文档中找不到任何内容。是否存在某种addslashes(),或表达式中的解决方法?

2 个答案:

答案 0 :(得分:21)

如果我正确理解您的问题,您正在寻找preg_quote

string preg_quote  ( string $str  [, string $delimiter = NULL  ] )
  

preg_quote()需要str并提出一个   每个角色前面的反斜杠   这是正则表达式的一部分   句法。
如果你有这个,这很有用   您需要的运行时字符串   匹配一些文本和字符串可能   包含特殊的正则表达式字符。

     

特殊的正则表达式   字符是:. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

答案 1 :(得分:0)

您似乎想要preg_quote,但也许您应该更详细地了解您的情况,因为您尝试做的事情很可能会以更好的方式完成。