こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

http://を探してきて置き換えるのかとも思ったんですが、それだとどこまで、というのが
不明ですよね?

投稿日時 - 2003-10-15 14:18:32

QNo.680311

暇なときに回答ください

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

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

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

投稿日時 - 2003-10-15 14:59:54

お礼

回答ありがとうございます。

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

投稿日時 - 2003-10-15 16:02:21

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

> http://を探してきて置き換えるのかとも思ったんですが、それだとどこまで、というのが
> 不明ですよね?

参考サイトが解決に導いてくれるかも。

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

投稿日時 - 2003-10-15 15:03:05

お礼

回答ありがとうございます。

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

ありがとうございました。

投稿日時 - 2003-10-15 16:04:58

ANo.1

ログファイルはどのような形式でかかれたものですが?

あまりに漠然としているので補足していただけないでしょうか?

投稿日時 - 2003-10-15 14:28:02

お礼

回答ありがとうございます。

ログファイルは
------------------------------
日付<>タイトル<>中身
日付<>タイトル<>中身
日付<>タイトル<>中身
日付<>タイトル<>中身
日付<>タイトル<>中身
------------------------------
のような感じになってます。

投稿日時 - 2003-10-15 16:01:31

あなたにオススメの質問