サンプル・プログラムの解説:ファイルを読んで記事見出しを抽出する |
|
|
0038: //コンテンツを1行ずつ読み込んで処理する |
|
|
テキストファイルを 1行読み込むのは、関数 fgets である。引き数は fopen関数で取得したりソース番号 $fp だ。 読み込んだ 1行は、変数 $s に代入する。 このプログラムの目的は、Google News から記事見出しのみ抽出することである。 読み込んだ行には複数の見出しが含まれているが、各々は事前に設定した正規表現パターン $Pattern を有する。(これは筆者が独自に調べたもので、今後変更される可能性はある) そこで、読み込んだ行 $s に含まれるすべての見出しパターンを抽出するために、関数 preg_match_all を使う。 関数 preg_match_all は、引き数の正規表現パターンに合致するすべての部分文字列を配列に格納し、合致した部分文字列の数を返す。 合致した部分文字列とは、すなわち記事見出しである。そこで、逐次、部分文字列を表示させることでプログラムの目的を達する。この作業をテキストファイルの終わりまで繰り返す。これが 38行目である。 正規表現については、「PHP で正規表現」をあわせてご覧いただきたい。 関数 feof は、ファイルの終端まで来たら TRUE を、そうでなければ FALSE を返す。ここでは否定演算子 ! を付けて、ファイル終端に到達するまで while ループを回し、ファイルを読んで記事見出しを抽出・表示させる処理を続ける、という形になる。 |
ファイルを閉じる |
|
|
0045: fclose($fp); |
|
|
fopen関数で閉じたファイルは、最後に、関数 fclose によって閉じなければならない。 最後に、お世話になった Google のロゴを表示しておこう。 |
質疑応答 |
|
【質問】 smily 様より
実際に「プログラムを実行する」をしたのですが、検索結果が 0 件で、Google news よりと、システム日付、ロゴしか表示されません。【回答】 プログラムが古く、最近の GoogleNews に対応していませんでした。 |
|
参考書籍 |
|
|
|
参考サイト |
|
|
|
(この項おわり)
|
|
|
|
|
2004年11月14日 作成
2009年06月25日 更新
Copyright by studio pahoo, (C)2009
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 ★本ページへのご意見・ご質問・お便りは、ここをクリックしてください。 |