やまっち@M&Tcom
[E-Mail]
[HomePage]
1997/11/07(金) 20:30:23
掲示板書き込み本文中の「http://~」を自動的にリンクする方法は
私のページの伝言板で使用しています。
http://www2k.biglobe.ne.jp/~mtcom/cgi-bin/guest.cgi
掲示板(伝言板)はセキュリティー上、タグを無効にしておいた方が
安全なのですが、↑↑上のようにURLの書き込みがあった場合、いち
いちコピーしてアドレス欄にペーストしなければならないので、確か
に不便ですよね。
私は掲示板(伝言板)にperlを用いていますが、
置換(変数 =~ s/パターン/置換後文字列/ig;)を使って
それを実現しています。(まだ不具合があるかもしれませんが)
「変数」のところに伝言板本文のスカラ変数を入れ、
「パターン」で「http://~」のパターンの検出をして、
「置換後文字列」に「<A HREF="~">~<\/A>」を
パターンマッチした文字列に付け足してやれば良いと思います。
この処理により、書込者はタグを使用せずにURLを書き込んだだけで
自動的にリンクされるようになるはずです。
例:(書き込まれる本文を「$message」としたとき)
$message =~ s/(http:\/\/[現在試行錯誤中]+)/<A HREF=\"$1\">$1<\/A>/ig;
($1には直前のパターンマッチの括弧内の文字列が入るはず)
↑↑の[現在試行錯誤中]内にはURLで使われると思われる文字を想定して・・・
\w ~すべての英数字( "_" を含む)
\/ ~スラッシュ
\~ ~チルダ
\. ~ピリオド
\? ~?(GETの引数で使う可能性有りなので)
etc.
・・・等を入れていますが、他にもまだまだありそうなので
あえて、試行錯誤中として伏せさせていただきました。