PHP正则表达式高级应用与优化
1. pregRquote函数
pregRquote是一个高度专业化的函数,在很多情况下并不实用,但下面是一个示例:
/+ Given $MailSubject, find if $MailMessage is about that subject +/
$pattern = ’/ˆSubject:\s+(Re:\s+)+’ . pregRquote($MailSubject, ’/’) . ’/mi’;
如果 $MailSubject 包含字符串 ++Super Deal++ (Act Now!) ,则 $pattern 最终为:
/ˆSubject:\s+(Re:\s+)+\+\+Super Deal\+\+ \(Act Now\!\)/mi
这个结果适合作为preg函数的模式参数使用。
需要注意的是,指定 { 或其他成对的分隔符不会导致其对应的字符(如 } )被转义,所以要坚持使用非成对的分隔符。此外,空格和 # 不会被转义,因此结果可能不适用于 x 修饰符。
实际上,pregRquote只是将任意文本表示为PHP正则表达式的部分解决方案。它只解决了“文本到正则表达式”的问题,而没有完成将其转换为可用于preg函数的“正则表达式到模式参数”的步骤。 </
超级会员免费看
订阅专栏 解锁全文
1129

被折叠的 条评论
为什么被折叠?



