在PHP中使用Gruber的正则表达式进行URL匹配

时间:2010-01-08 02:34:25

标签: php regex url preg-match gruber

如何在php中使用preg_match提到的in this article正则表达式?

<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>

使用上面的代码我收到以下错误:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...

1 个答案:

答案 0 :(得分:7)

试试这个:

preg_match("#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#i", $text, $matches);

您错过了正则表达式分隔符(通常为/,但此处使用#,因为它对于网址更方便)