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

mi_ ko mi_ko00 @ hotmail.com
2006年 7月 20日 (木) 08:18:22 JST


mi_ko00と申します。

技術的な指摘ではないのですが、

> > >  "([^=\'\">:][0-9a-zA-Z./_-]+@[0-9a-zA-Z./_-]+\.[0-9a-zA-Z]{2,4})"
> > "([^=\'\">:]([0-9a-zA-Z./_-]+)?@[0-9a-zA-Z./_-]+\.[0-9a-zA-Z]{2,4})"
> >
> > 考えてみれば、1文字のアカウントと言う可能性もあるので、
> > こっちの方が良いでしょうね^^;
>
>遅くまでメールありがとうございます。
>$mail = "<a 
href=\"mailto:123456789 @ docomo.ne.jp\">123456789 @ docomo.ne.jp</a>";
>の場合よくよく考えたら<a>タグの中にmailto:が絶対にあるんだから
>[^=\'\">:]これって大部分が無意味でした・・・・。

もともとの質問は、入力データ(掲示板への書き込みなど)を走査して、
メールアドレスと思しき情報があれば、aタグに置き換えてあげる。
という話で、データ中のaタグを何か他に置き換えるという話では
ないですよね。逆に、すでにaタグで囲まれている部分があることを
前提としてしまうと、replaceの除外範囲を特定しながらの処理に
なるので、「無意味」というより別の問題で。

入力内容中、メールアドレスの直前に、[^=\'\">:]のいずれかが
入力される可能性の有無を確認する必要はあるでしょうね。
掲示板への書き込みという前提なら、可能性はありそうな気もし
ますしね。

一応、気になったので。




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