映画感想用テキスト→HTMLコンバータ
映画感想のHTMLを生成するためのフィルタプログラムです。
これで生成した HTML をエディタで合成して使用しています。
Windows NT/2000 上で使用しているので、漢字はシフトJISになっています。
[使用法] perl fmtkansou.pl src.txt >dist.html
リンクを抜き出す部分を一部変更しました。(2001/10/09)
#!/usr/local/bin/perl
# 映画感想 TEXT -> HTML 変換
$mode = 0;
$t = "";
$d = "";
@body = ();
while (<>) {
if ($mode == 0) {
$t = $_;
$mode = 1;
} elsif ($mode == 1) {
$d = $_;
$mode = 2;
} else {
if ( /^\n/ ) {
# 改行のみの行は、HTML上での強制改行にする
push(@body, "<BR>\n");
} elsif ( /http:/ ) {
# http:〜 をリンクに加工する
$i = index($_, "http:");
$s0 = substr($_, 0, $i);
$s1 = substr($_, $i);
for ($i = 5 ; $i < length($s1) ; $i++) {
$c = substr($s1, $i, 1);
unless ( $c =~ /[\w\-\/.~_]/ ) {
last;
}
}
$s2 = substr($s1, $i);
$s1 = substr($s1, 0, $i);
push(@body, $s0);
push(@body, '<A HREF="' . $s1 . '">' . $s1 . '</A>');
push(@body, $s2);
} else {
# その他
push(@body, $_);
}
}
}
outhtml();
sub outhtml {
my $yy;
my $mm;
my $dd;
($yy, $mm, $dd) = split( /\//, $d );
chomp($dd);
print "<!-- ****************************************************** -->\n";
print "<A NAME=\"$yy$mm$dd\">\n";
print "<DIV ALIGN=CENTER>\n";
print "<BR><TABLE BORDER=0 BGCOLOR=#00d000><TR><TD><FONT COLOR=#000000 SIZE=\"+2\">";
print "$t";
print "</FONT></TD></TR></TABLE><BR>";
print "鑑賞日 $d<BR><BR>";
print "<TABLE WIDTH=85%>\n";
print "<TR><TD>\n";
print @body;
print "</TD></TR>\n";
print "</TABLE>\n";
print "</DIV>\n";
print "<BR><HR>\n";
}
総合ホームページ
Perl納戸部屋