[PHP-users 29836] Re: メールの自動リンク
atsushi kojo
a-kojo @ artsnet.jp
2006年 7月 20日 (木) 08:43:27 JST
お世話になります、古城です。
> [^=\'\">] は<a>タグがある場合変換しないようにする為の物なので絶対に必要なのです。
> なければ正常に動くのは分かっているのですが外せません。
> 難しいです。
普通はXSS対策とかでタグはパラメータ取得時にhtmlspecialcharsとかで
エスケープするので、その後にereg_replaceすればタグが入っててもタグがそのまま表示されます。
なんらかの理由でエスケープできないのであればstrip_tagsとかで
タグそのものを削除できますのでソレを使ったりとか。
何にしても「タグがある場合にそれは利用する」とか考えちゃうからややこしくなるんであって
「タグがあろうがなかろうがすべて一旦素のアドレスに戻してロジックでaタグをつけてやろう」
と考えて書いたほうがシンプルだと思いますが。
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内