記事の一覧の自動生成を行うPHPを書きました。
つまり、記事フォルダに記事ファイルをぶち込めば、自動的にリンクが生成される記述です。
以下がそのソースです。
<?php chdir('article'); $fname=glob('*.php'); rsort($fname);/*降順*/ print"<ul>"; foreach($fname as $f){ $fstr = file_get_contents($f); $fstr = mb_convert_encoding($fstr,"UTF-8", "auto" ); if ( preg_match( "/<h2>(.*?)<\/h2>/i", $fstr, $matches) ) { $h2= $matches[1]; } $result = file($f); print"<li><a href=article/$f>$h2</a></li>"; } ?>
アルゴリズムとしては、
①articleフォルダ内の記事ファイルの名前(ファイル名は日付)を読み込み、降順に並び替える。
→新しい記事が上方に並ぶ。
②読み込んだ記事ファイル名をもとに、記事ファイルのソースを文字列として読み込んでいく。
③正規表現を用いて、記事ソース中の見出し(<h2>と</h2>で囲まれた文字列)を検索し、見出しの文字列を抜き出す。
④読み込んだファイル名と抜き出した文字列を利用して、リンクを貼る。
…といったかんじです。