• ベストアンサー

cgi(perl)で文中のURLを自動でリンクするようにしたい

CGI(perl)でログファイルから読み込んだデータの中に http://www…のようなものがあったらそれを自動で <A HREF="http://www~">http://www~</A> のような形にしたいのですが、どのように表記したらいいのでしょうか? http://を探してきて置き換えるのかとも思ったんですが、それだとどこまで、というのが 不明ですよね?

質問者が選んだベストアンサー

  • ベストアンサー
noname#225520
noname#225520
回答No.2

簡易正規表現ですが、 $data =~ s/(s?https?:\/\/[-_.!~*'\(\)a-zA-Z0-9;\/?:\@&=+\$,%#]+)/<A HREF=\"$&\">$&<\/A>/g; のように変換すれば良いでしょう。

参考URL:
http://www.din.or.jp/~ohzaki/perl.htm#httpURL
KODAMAR
質問者

お礼

回答ありがとうございます。 教えていただいた表現で無事できました。 でも自分としてはさっぱり意味がわからないので(汗)、勉強したいと思います。 ありがとうございました。

その他の回答 (2)

  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.3

> http://を探してきて置き換えるのかとも思ったんですが、それだとどこまで、というのが > 不明ですよね? 参考サイトが解決に導いてくれるかも。

参考URL:
Perlメモ:自動で URI(URL) のリンクを張る http://www.din.or.jp/~ohzaki/perl.htm#AutoLink
KODAMAR
質問者

お礼

回答ありがとうございます。 #2の方に教えていただいたけど、さっぱりわからないので、勉強しようと思います。 教えていただいたURL参考にさせていただきます。 ありがとうございました。

  • kou2000
  • ベストアンサー率29% (14/48)
回答No.1

ログファイルはどのような形式でかかれたものですが? あまりに漠然としているので補足していただけないでしょうか?

KODAMAR
質問者

お礼

回答ありがとうございます。 ログファイルは ------------------------------ 日付<>タイトル<>中身 日付<>タイトル<>中身 日付<>タイトル<>中身 日付<>タイトル<>中身 日付<>タイトル<>中身 ------------------------------ のような感じになってます。

関連するQ&A