■記事リスト / ▼下のスレッド
□投稿者/ hidetake -(2003/03/18(Tue) 00:36:50)
| 桐でやる手ももちろんだけれど,正規表現を使えれば こんな風に出来るというサンプルの意味も含めて・・・
取り敢えず,今時の Windows であれば大体において 使えるであろう WSH のうち VBS でのスクリプト例!
ex. httplink.vbs infile outfile
------------------------------------------------------------------------------- Dim Arg Set Arg = WScript.Arguments If Arg.Count < 2 Then WScript.Quit End If
Dim Src, Dst Src=Arg(0) Dst=Arg(1)
Dim Fs Set Fs = Wscript.CreateObject("Scripting.FileSystemObject") If Not Fs.FileExists(Src) Then WScript.Echo "ファイルがありません!" Set Fs = Nothing Set Arg = Nothing WScript.Quit End If If Fs.FileExists(dst) = True Then Fs.DeleteFile dst,True End If
Set sFile = Fs.OpenTextFile(Src) Set dFile = FS.CreateTextFile(Dst)
Dim Line Set objRE = New RegExp objRE.IgnoreCase = True objRE.Global = True objRE.Pattern = "(((s?https?|ftp)://|mailto:)[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"
Do Until sFile.AtEndOfStream Line = sFile.ReadLine If Line = Chr(&h1A) Then Exit Do End If If objRE.Test(Line) = True Then Line = objRE.Replace(Line,"" + "$1" + "") End If dFile.WriteLine(Line) Loop
sFile.Close dFile.Close Set sFile = Nothing Set dFile = Nothing Set Arg = Nothing Set Fs = Nothing WScript.Quit -------------------------------------------------------------------------------
|
|
|
▽[全レス2件(ResNo.1-2 表示)]
■156 / ResNo.1) |
Re[1]: ハイパーリンク
|
□投稿者/ hidetake -(2003/03/18(Tue) 00:37:51)
| 引き続いて perl 版!
この程度の処理であれば 数百KB の perl.exe をどこからか 持ってきても良いだろうし,JPerl.exe + Perl300.dll だけ でも可能・・・
ex. perl httplink.pl infile outfile
------------------------------------------------------------------------------- #!/usr/bin/perl
if ($#ARGV ne 1) { print "usage: htmllink.pl infile outfile\n"; exit; } $sfile = $ARGV[0]; open(IN, $sfile) || die "Can't open infile: $sfile"; $dfile = $ARGV[1]; open(OUT, "> $dfile") || die "Can't open outfile: $dfile";
while($Line = ){ $Line =~ s/(((s?https?|ftp):\/\/|mailto:)[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/$1<\/a>/gi; print OUT "$Line"; }
close(IN); close(OUT); -------------------------------------------------------------------------------
|
|
|
■157 / ResNo.2) |
Re[2]: ハイパーリンク
|
□投稿者/ hidetake -(2003/03/18(Tue) 00:39:34)
| > s/(((s?https?|ftp):\/\/|mailto:)[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
と言う事で,桐も正規表現が使えたらなぁ〜
|
解決済み! |
|
■記事リスト /
レス記事表示 →
[親記事-2]
|