トップ>Perl&CGI>基本編目次>INCMプラグインで覚えるPerl講座16

INCMプラグインで覚えるPerl講座

第16回 ページめくりと地域取得

今回で読み込みに関しては完成です。

ページめくり

実はページめくりは修正の必要なく、そのままで正常に動作します。 それはJoyLoadがHoney Boardと同じ仕組で次のページを表示するからです。

ほとんどが第8回と同じなので、そちらを参照して下さい。 ここでは時系列とは少し異なる点についてのみ解説します。

何が違うかというと前回もちょっと触れましたが、66行目の$atclcnt+=1という式です。 JoyLoadはルート記事単位に一定数でページを分けて表示するようになってます。 ですから、記事数ではなくルート記事の数を$atclcntに代入しておくことになります。

その仕組がHoney Boardも一緒なので、今回は修正の必要がなかったわけです。

地域取得

おまけのようなものですが、せっかくなので地域も取得してみましょう。

HTMLソースでは以下のようになっています。

<small> @関 東 2003/06/11(Wed) 05:10</small>

これはルート記事も子記事も共通ですので、ルート記事と子記事の分岐処理以外で抽出したほうがいいですね。 80行目の投稿者名抽出の次ぐらいがいいでしょう。正規表現を考えてみて下さい。

私の場合は以下のようにしてみました。

s/<small> \@(.*?) \d+//;

INCMに地域用の欄はないので、これをどこかに組み込まないといけません。 とりあえず今回は投稿者名の後ろにくっ付けることにします。 まず80行目の投稿者名を$headに代入する部分を直します。

$head.="N:$1";

\n(改行)を取ってここに繋げるようにしただけです。それでは次の行の地域取得の部分に追加します。

$head.="[$1]\n";

$head[地域]\nをくっ付けています。結果的にN:投稿者名[地域]\nになります。 ここまで出来たら巡回してみましょう、上手く地域が取得できていると思います。

今回はここまでです、次回は書き込みに対応したいと思います。

Prev : Next


トップ>Perl&CGI>基本編目次>INCMプラグインで覚えるPerl講座16

©Copyright 2002 GETWILD'74 All Rights Reserved
E-Mail:getwild@mail.wind.ne.jp