Wenn wir PHP zum Ausgeben einer HTML-Datei verwenden, verwenden wir im Allgemeinen immer eine lange Zeichenfolge wie $head="<head>...</head>" zum Vervollständigen. Diese Klasse bietet hauptsächlich eine einfache Methode zur Ausgabe von HTML-Dateien mit PHP. Vermeiden Sie zu viele lange Zeichenfolgen im Programm.
Die Klassendefinitionsdatei createhtml.class.php lautet wie folgt:
<?php
//------------------
//TCreateHTML
//Generieren Sie eine statische HTML-Dateiklasse basierend auf der Vorlagendatei
// Autor: sharetop
// E-Mail:[email protected]
//------------------
//*****Definieren Sie die erforderliche Arbeitsfunktion
//Die Konvention beginnt mit dem Tag <!--##name##-->
//Ende mit Tag < !--@@name @@-->
Funktion isbegin($str){
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) return true;
return false;
}
Funktion isfinish($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) return true;
return false;
}
Funktion getname($str){
$tmp=explode("##",$str);
return $tmp[1];
}
//********************
//***************Definitionsklasse
Klasse TCreateHTML {
var $HTemplate;
var $FileName;
var $ModiString;
//**********Schnittstellenfunktion
//Vorlage erstellen
Funktion TCreateHTML($tmplate){
$this->HTemplate=$tmplate;
}
//Legen Sie den Namen der Ausgabedatei fest
Funktion SetHTML($filename){
$this->FileName=$filename;
}
//Legen Sie den Namen des Tags und die entsprechende Ersatzzeichenfolge fest
Funktion EditableBlock($name,$replace){
$this->ModiString[$name]=$replace;
}
//HTML-Datei schreiben
Funktion WriteHtml(){
$fc=file($this->HTemplate);
$fp=fopen($this->FileName,"w");
$k=count($fc);
$begin=false;
$first=false;
$tag="";
for($i=0;$i<$k;$i++){
if(isbegin($fc[$i])){
fputs($fp,$fc[$i]);
$begin=true;
$first=true;
$tag=getname($fc[$i]);
weitermachen;
}
if(isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$begin=false;
$first=false;
$tag="";
weitermachen;
}
if($begin==true){
if($first==true) {
$fc[$i]=$this->ModiString[$tag]." ";
$first=false;
}
sonst $fc[$i]="";
}
fputs($fp,$fc[$i]);
}
fclose($fp);
}
//--------Klassenende
}
?>
Ein Beispiel ist wie folgt:
(
Erstellen Sie zunächst eine Datei im HTML-Format und fügen Sie die Markierung <!--aaa--> an der Stelle ein, an der Sie sie ersetzen möchten
. Hinweis!! Dieser Satz steht in einer separaten Zeile...
< !--@@aaa @@--> Achtung! ! Dieser Satz sollte in einer separaten Zeile stehen usw.)
<?
erfordern „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();
?>