記事の一覧の自動生成を行う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>で囲まれた文字列)を検索し、見出しの文字列を抜き出す。
④読み込んだファイル名と抜き出した文字列を利用して、リンクを貼る。
…といったかんじです。