【发布时间】:2009-05-23 15:36:13
【问题描述】:
我是 PHP 正则表达式的新手,了解基本模式,但是下面的模式有点复杂,我不明白以下模式匹配什么:
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#... "<a href='' rel='nofollow'></a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*... "<a href='http://' rel='nofollow'></a>", $ret);
谁能解释一下?
谢谢。
【问题讨论】:
-
请不要只贴一半。
-
仅供参考,PCRE 是为 PHP 的 preg_ 函数提供支持的正则表达式库。我删除了该标签,因为您的问题中没有特定于该库的内容。
-
@Alan M:编辑相反,因为它是 Perl 兼容的正则表达式,这是专门被询问的,而不是 PHP 中可用的任何其他正则表达式。 (如果我们真的需要一个关于 PCRE 库的标签,我们可以使用 pcre-lib。)
-
那么“preg”或“preg_replace”怎么样?在大多数情况下,“pcre”要么是模棱两可的,要么是多余的 IMO。但是“pcre-lib”对于直接使用库的问题听起来不错。我们确实看到了有关这方面的问题。 :)