「記事一覧の自動生成」 2013/04/12

 記事の一覧の自動生成を行う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>で囲まれた文字列)を検索し、見出しの文字列を抜き出す。

④読み込んだファイル名と抜き出した文字列を利用して、リンクを貼る。

…といったかんじです。



今後の更新も、コイツのおかげで活発になる…かも?