urlをhttp://から始まるものに直すには?
[上に]
[前に]
[次に]
babyA
[E-Mail]
1998/09/02(水) 21:15:15
perl の cgi での話です。
urlを複数含む文字列があってその url 全てを http:// から始まる形式に
直したいのですがどうするのが簡潔で良い方法なのでしょうか?
url は "index.html","./aaa.html","/bbb.html","http://aaa/bbb/"
などいろいろな形式で文字列に含まれています。なお url の
ホスト名とパスは予めわかっています。
mo
[E-Mail]
1998/09/03(木) 10:41:12
$url =~ s,^(?!http://)/*,http://$host/,;
とか、配列を一喝処理したいなら
s,^(?!http://)/*,http://$host/, for(@url); # 最新の perl の文法だよん。
なんてのはどうでしょう。
なお、(?!regex) は perl5 で利用できる拡張形式で、
正規表現 regex にマッチしなければ真となります。
babyA
1998/09/03(木) 11:55:02
すみません、説明が足りなかったようです。
具体的に言うと文字列の中身は html ファイルを読んだものが入っています。
その中に href="aaa.html" や src="/bbb.gif" などの様に url がいくつか含まれています。
この url 部分を見つけて http:// から始まるように変換したいのですがうまい方法がわかりません。
satoshi
[HomePage]
1998/09/03(木) 12:44:58
http://www2.pos.to/~negi/public/httpmail.pl.txt
のget_linkサブルーチンが参考になるでしょう。
似たプログラムは内外に沢山あります。まずは他人の同種の
プログラムを読んでみることです。
(でも私はこの部分に関しては独自に書いた。というより、
その時手もとにあったあるものと同じにならないように敢え
て違ったアプローチで書いた。)
[上に]
[前に]
[次に]