0

文字列内の URL を検出し、それをアンカー タグに置き換えるスクリプトを使用します。

$string = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2",$mytext);
$string = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</a>",$string);
$string = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<a href=\"mailto:$1\">$1</a>",$string);

イメージタグに遭遇しない限り、正常に動作します。例えば:

<img src="http://www.xx.com/img.jpg" alt=""/>

となります:

<img src="<a href="http://www.xx.com/img.jpg">http://www.xx.com/img.jpg</a>http://www.xx.com/img.jpg" alt=""/>

' src=" ' がその直前にある場合に URL を変更しないようにするには、この preg_replace をどのように変更すればよいですか?

ありがとうございました

4

1 に答える 1