[PHP-users 29837] Re: メールの自動リンク

ALPHA alpha @ alpha.ne.jp
2006年 7月 20日 (木) 16:10:22 JST


> お世話になります、古城です。

こちらこそ、お世話になります。

> 普通はXSS対策とかでタグはパラメータ取得時にhtmlspecialcharsとかで
> エスケープするので、その後にereg_replaceすればタグが入っててもタグがそのまま表示されます。
> 
> なんらかの理由でエスケープできないのであればstrip_tagsとかで
> タグそのものを削除できますのでソレを使ったりとか。
> 
> 何にしても「タグがある場合にそれは利用する」とか考えちゃうからややこしくなるんであって
> 「タグがあろうがなかろうがすべて一旦素のアドレスに戻してロジックでaタグをつけてやろう」
> と考えて書いたほうがシンプルだと思いますが。

URLの自動リンクは[PHP-users 20310]を参考に作れたので
メール版もなんとかならないものかと色々やってみたんです。

とりあえずは、
$mail = ereg_replace("([0-9a-zA-Z./_-]+@[0-9a-zA-Z./_-]+\.[0-9a-zA-Z]{2,4})", " <a href=\"mailto:\\1\">\\1</a>", $mail);
でお茶を濁す形で動かします。
皆様、お手数を掛けていただいてありがとうございました。



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