[PHP-users 20308]自動リンク

Y.Okazaki you2 @ tql.jp
2004年 2月 7日 (土) 08:38:21 JST


こんにちわ。
よう@BBYです。

掲示板の書込に対して、URLがあったら下記のような処理をしてリンクを貼るようにしています。

$str = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
       "<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>"\,$str);

しかし、タグを使って書込があった場合はこの置換が実行されないようにしたいと思います。

下記、1・2を兼ね揃えたereg_replaceの使い方ができればと思っております。

1.URLが書かれている場合(置換実行)
処理前「〜 http://tql.jp 〜」
処理後「〜 <a href="http://tql.jp" target=_"blank">http://tql.jp</a> 〜」

2.タグでリンクが貼られている場合(置換せず)
処理前「〜 <a href="http://tql.jp">こちら</a> 〜」
処理後「〜 <a href="http://tql.jp">こちら</a> 〜」

このような処理を上記のereg_replaceを使って行う場合で、任意の文字列が置換対象の前に
入っていたら置換しないというようなことは出来るのでしょうか。

それとも、「<A」または「<a」が文字列にある場合は置換をしないというように、if文で
分岐した方がいいでしょうか。(URLだけとタグのリンクが混在してるときに困ります)

よろしくお願い申し上げます。


**************************************
       Y.Okazaki : you @ hiroba.net
**************************************



PHP-users メーリングリストの案内