Generalmente, cuando usamos PHP para generar un archivo html, siempre usamos una cadena larga como $head="<head>...</head>" para completar. Esta clase proporciona principalmente un método simple para generar archivos html usando PHP. Evite demasiadas cadenas largas en el programa.
El archivo de definición de clase createhtml.class.php es el siguiente:
<?php
//------------------
//TCreateHTML
// Genera una clase de archivo html estática basada en el archivo de plantilla
// Autor: sharetop
// correo electrónico:[email protected]
//------------------
//*****Definir la función de trabajo requerida
//La convención comienza con la etiqueta <!--##name##-->
//Termina con etiqueta < !--@@nombre @@-->
la función es comenzar ($ str) {
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) devuelve verdadero;
devolver falso;
}
la función está terminada($cadena){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) devuelve verdadero;
devolver falso;
}
función obtener nombre($cadena){
$tmp=explotar("##",$str);
devolver $tmp[1];
}
//******************
//************Clase de definición
clase TCreateHTML {
var $HPlantilla;
var $NombreDeArchivo;
var $ModiString;
//********función de interfaz
//Construir plantilla
función TCreateHTML($tmplate){
$this->HTemplate=$tmplate;
}
//Establece el nombre del archivo de salida
función SetHTML($nombre de archivo){
$this->FileName=$nombre de archivo;
}
//Establece el nombre de la etiqueta y la cadena de reemplazo correspondiente
función EditableBlock($nombre,$reemplazar){
$this->ModiString[$nombre]=$reemplazar;
}
//Escribir archivo HTML
función EscribirHtml(){
$fc=archivo($this->HTemplate);
$fp=fopen($this->NombreDeArchivo,"w");
$k=cuenta($fc);
$comienzo=falso;
$primero=falso;
$etiqueta="";
para($i=0;$i<$k;$i++){
si(isbegin($fc[$i])){
fputs($fp,$fc[$i]);
$comienzo=verdadero;
$primero=verdadero;
$etiqueta=getname($fc[$i]);
continuar;
}
si(isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$comienzo=falso;
$primero=falso;
$etiqueta="";
continuar;
}
si($comienzo==verdadero){
si($primero==verdadero) {
$fc[$i]=$this->ModiString[$tag]." ";
$primero=falso;
}
más $fc[$i]="";
}
fputs($fp,$fc[$i]);
}
fclose($fp);
}
//--------fin de clase
}
?>
Un ejemplo es el siguiente:
(
Primero cree un archivo en formato html y agregue la marca <!--aaa--> donde desee reemplazarlo
. ¡Nota! Esta oración está en una línea separada...
< !--@@aaa @@--> ¡Atención! ! Esta oración debe estar en una línea separada, etc.)
<?
requiere "createhtml.class.php";
$chtml=nuevo TCreateHTML("plantilla.htm");
$chtml->SetHTML("noticias.htm");
$chtml->EditableBlock("aaa","11aa111aa");
$chtml->EditableBlock("bbb","11bbb122bb");
$chtml->EditableBlock("ccc","11cc333cc");
$chtml->WriteHtml();
?>