0

我在 PHP 中使用 preg_replace。当我使用此代码行时:

echo nl2br(preg_replace("(http://.+) ", "<a href='$1'>[link]</a>", $row['description']));

它呼应"<a href=''>[link]</a>". 了这里的“描述”:http
://www.youtube.com/watch?v=JDrnz8ZZtUE 这有什么问题?(我还在描述中包含了空格)

4

2 回答 2

4

那是因为您没有指定分隔符。PHP 将假定()是分隔符,从而消除您的捕获组。

"~(http://.+)~"
于 2012-11-29T14:44:47.200 回答
0

你没有任何分隔符。这是语法:

$pattern = '/(\w+) (\d+), (\d+)/i';

尝试这样做:

echo nl2br(preg_replace("/(http://.+)/", "<a href='$1'>[link]</a>", $row['description']));
于 2012-11-29T14:44:37.043 回答