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 に答える