-1

コードは既存のリンク、<img>の src 値 (またはそのようなもの) をスキップする必要があります

public function convertUrlsToLinks($text){
    return preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.-]*(\?\S+)?)?)?)@', '<a href="$1" target="_blank">$1</a>', $text);
}

この関数で何を変更する必要があるかわかりませんか?

4

1 に答える 1

0

正規表現がタグの「内側」にないかどうかをチェックする小さな部分を正規表現に追加します。だからそうあるべきだ

     <tag>HERE</tag> 

そしてそうではない

     <tag src="HERE"></tag>.

URL は常に html タグの内側にあるため、これを使用するように正規表現を微調整すると機能するはずです。私は正規表現のプロではないので、これ以上のことはできませんが、これで正しい方向に進むはずです。

于 2012-08-14T18:57:41.643 に答える