[PHP-users 30068] Re: テンプレートマニュアル

sasada nobbuhir dwrd @ hotmail.co.jp
2006年 8月 18日 (金) 13:16:55 JST


ありがとうございます。
プログラムを記載いたします。
NO.1

documentbuilder
---------------------------------
<?php
// DocumentBuilder
// ver. 1.2
require_once("htmltemplate.inc");

class DocumentBuilder{
	var $startsection;
	var $title;
	var $sectionhead;
	var $subsectionhead;
	var $dirname;
	
	function DocumentBuilder($title,$sh,$ssh,$startsection=1){
		$this->title=$title;
		$this->sectionhead=$sh;
		$this->subsectionhead=$ssh;
		$this->dirname=$dirname;
		$this->startsection=$startsection;
	}
	
	function build($filename){
		$fp=fopen($filename,"r");
		$sec=$this->startsection-1;
		$subsec=1;
		while($a=fgets($fp,10000)){
			if(substr($a,0,7)=='[title]'){
				$val[title]=chop(substr($a,7));
				$ans.=HtmlTemplate::t_buffer($this->title,$val);
			}elseif(substr($a,0,9)=='[section]'){
				$sec++;
				$val=array();
				$val[sectionnum]=$sec;
				$val[title]=chop(substr($a,9));
				$ans.=HtmlTemplate::t_buffer($this->sectionhead,$val);
				$subsec=0;
			}elseif(substr($a,0,12)=='[subsection]'){
				$subsec++;
				$val=array();
				$val[sectionnum]=$sec;
				$val[subsectionnum]=$subsec;
				$val[title]=chop(substr($a,12));
				$ans.=HtmlTemplate::t_buffer($this->subsectionhead,$val);
			}elseif(substr($a,0,8)=='[source]'){
				flush();
				ob_start();
				show_source(substr($a,8,-1));
				$ans.=ob_get_contents();
				ob_end_clean();
			}else{
				$ans.=$a."<br>";
			}
		}
		fclose($fp);
		return $ans;
	}
}
?>

_________________________________________________________________
デスクトップサーチでウェブも過去のファイルも瞬時に検索。  
http://g.msn.co.jp/jppr/82 



PHP-users メーリングリストの案内