まずは前回の宿題からです。 メールアドレスが記入された場合について。 ドムーパさんの所でテストさせて頂きました。 その結果、特に問題なく投稿者名が取得できることが確認できました。
それではいよいよ本文の取得に入りましょう。 HTMLソース上ではFONTタグに囲まれていますね。 通常なら素直にFONTタグで囲まれてる部分を抽出でいいんですが、 投稿者名の取得部分で
s/<div[^>]+>([^<]+).*?:<font[^>]+>//;
として、マッチ部分を削除してしまっています。 というわけでFONTの開始タグがないんです。 考え方を変えて、上で削除されてるなら残ってるのは何でしょう?
本文</font> 06/28(Fri)00:00[50]</div>
という感じで「$_」に残っています。 本文より後ろを切り捨てれば良さそうですね。 62行目を修正します。
$_=$1;
という部分は削除して下さい。
/<BLOCKQUOTE>([^\xff]*?)<\/P>/;
という部分を
s/^(.*)<\/font>.*$/$1/;
に書き換えて下さい。
「$_」内の文字列の先頭から調べて</font>が出て来るまでを $1に取得して、</font>以降は最後まで削除します。 これで本文は取得できました。
次にタイトルというのは「ちびぼーど」には存在しません。 そこで本文の一行目をタイトルにしたいと思います。 55行目のタイトル抽出部分を
$head = "";
のみにして下さい。
63行目と65行目の間に
$T = $_; $T =~ s/(、|。| |\.|.|?|\?|\,|\!|!|♪)[^\xff]*$//; $head .= "T:$T\n";
を挿入します。 59・60行目をその下に移動します。 やってることは区切りになる文字以降を削除してるだけです。
今回はここまでとします。 次回は書き込み出来るようにしたいと思います。