preg_quote转义正则特殊字符

今天用preg_quote转义字符串的时候,发现这货竟然不能转义/,例如http://转义之后还是http://

查了一下手册,原来/并不是正则的特殊字符,正则表达的特殊字符有 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

语法是这样子的

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

关于第二个参数$delimiter,官方手册上是这样说的

如果指定了可选参数 delimiter,它也会被转义。这通常用于 转义PCRE函数使用的分隔符。 / 是最常见的分隔符。

所以要想转义只能手动添加一下,preg_quote($str, "/");

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注