일반적으로 PHP를 사용하여 html 파일을 출력할 때 항상 $head="<head>...</head>"와 같은 긴 문자열을 사용하여 완료합니다. 이 클래스는 주로 PHP를 사용하여 html 파일을 출력하는 간단한 방법을 제공합니다. 프로그램에 긴 문자열을 너무 많이 사용하지 마십시오.
클래스 정의 파일 createhtml.class.php는 다음과 같습니다.
<?php
//------
//TCreateHTML
//템플릿 파일을 기반으로 정적 HTML 파일 클래스 생성
// 작성자: sharetop
// 이메일:[email protected]
//------
//*****필요한 작업 함수를 정의합니다.
//규칙은 <!--##name##--> 태그로 시작합니다.
//태그 < !--@@name @@-->로 끝납니다.
함수 isbegin($str){
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) return true;
거짓을 반환;
}
함수 isfinish($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) return true;
거짓을 반환;
}
함수 getname($str){
$tmp=폭발("##",$str);
$tmp[1] 반환;
}
//********************
//************정의 클래스
클래스 TCreateHTML {
var $HTemplate;
var $파일이름;
var $ModiString;
//********인터페이스 함수
//템플릿 구성
함수 TCreateHTML($tmplate){
$this->HTemplate=$tmplate;
}
//출력 파일 이름 설정
함수 SetHTML($filename){
$this->파일이름=$파일이름;
}
//태그 이름과 해당 대체 문자열을 설정합니다.
함수 EditableBlock($name,$replace){
$this->ModiString[$name]=$replace;
}
//HTML 파일 쓰기
함수 WriteHtml(){
$fc=file($this->HTemplate);
$fp=fopen($this->파일이름,"w");
$k=개수($fc);
$시작=거짓;
$첫번째=거짓;
$태그="";
for($i=0;$i<$k;$i++){
if(isbegin($fc[$i])){
fputs($fp,$fc[$i]);
$시작=참;
$첫번째=참;
$tag=getname($fc[$i]);
계속하다;
}
if(isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$시작=거짓;
$첫번째=거짓;
$태그="";
계속하다;
}
if($begin==true){
if($first==true) {
$fc[$i]=$this->ModiString[$tag]." ";
$첫번째=거짓;
}
그렇지 않으면 $fc[$i]="";
}
fputs($fp,$fc[$i]);
}
fclose($fp);
}
//---------수업 종료
}
?>
예는 다음과 같습니다.
(
먼저 html 형식의 파일을 만들고 이를 바꾸고 싶은 곳에 <!--aaa--> 표시를 추가합니다
. 참고!! 이 문장은 별도의 줄에 있습니다...
< !--@@aaa @@--> 주의! ! 이 문장은 별도의 줄에 있어야 합니다. 등)
<?
"createhtml.class.php"가 필요합니다.
$chtml=new TCreateHTML("template.htm");
$chtml->SetHTML("news.htm");
$chtml->EditableBlock("aaa","11aa111aa");
$chtml->EditableBlock("bbb","11bbb122bb");
$chtml->EditableBlock("ccc","11cc333cc");
$chtml->WriteHtml();
?>