Généralement, lorsque nous utilisons PHP pour générer un fichier HTML, nous utilisons toujours une longue chaîne comme $head="<head>...</head>" pour compléter. Cette classe fournit principalement une méthode simple pour générer des fichiers HTML en utilisant PHP. Évitez les chaînes trop longues dans le programme.
Le fichier de définition de classe createhtml.class.php est le suivant :
<?php
//------------------
//TCréerHTML
// Générer une classe de fichier HTML statique basée sur le fichier modèle
// Auteur : sharetop
// e-mail : [email protected]
//------------------
//*****Définir la fonction de travail requise
//La convention commence par la balise <!--##name##-->
//Fin avec la balise < !--@@name @@-->
la fonction estcommence($str){
$pattern="<!--##[a-zA-Z]++##-->";
if(ereg($pattern,$str)) renvoie vrai ;
renvoie faux ;
}
la fonction est terminée ($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) renvoie vrai ;
renvoie faux ;
}
fonction getname($str){
$tmp=exploser("##",$str);
renvoie $tmp[1] ;
}
//******************
//************Classe de définition
classe TCreateHTML {
var $HTemplate;
var $NomFichier;
var $ModiString;
//********fonction d'interface
//Modèle de construction
fonction TCreateHTML($tmplate){
$this->HTemplate=$tample;
}
//Définit le nom du fichier de sortie
fonction SetHTML ($ nom de fichier) {
$this->FileName=$filename;
}
//Définit le nom de la balise et la chaîne de remplacement correspondante
fonction EditableBlock ($ nom, $ remplacer) {
$this->ModiString[$name]=$replace;
}
//Écrire un fichier HTML
fonction WriteHtml(){
$fc=fichier($this->HTemplate);
$fp=fopen($this->FileName,"w");
$k=compte($fc);
$commencer=faux;
$premier=faux ;
$balise="";
pour($i=0;$i<$k;$i++){
si(isbegin($fc[$i])){
fputs($fp,$fc[$i]);
$commencer=vrai ;
$premier=vrai ;
$tag=getname($fc[$i]);
continuer;
}
si(isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$commencer=faux;
$premier=faux ;
$balise="";
continuer;
}
si($begin==true){
si($premier==vrai) {
$fc[$i]=$this->ModiString[$tag]." ";
$premier=faux ;
}
sinon $fc[$i]="";
}
fputs($fp,$fc[$i]);
}
fclose($fp);
}
//--------fin de classe
}
?>
Un exemple est le suivant :
(
Créez d'abord un fichier au format html et ajoutez la marque <!--aaa--> à l'endroit où vous souhaitez le remplacer
. Remarque !! Cette phrase est sur une ligne séparée...
< !--@@aaa @@--> Attention ! ! Cette phrase doit être sur une ligne distincte, etc.)
<?
nécessite "createhtml.class.php" ;
$chtml=nouveau TCreateHTML("template.htm");
$chtml->SetHTML("news.htm");
$chtml->EditableBlock("aaa","11aa111aa");
$chtml->EditableBlock("bbb","11bbb122bb");
$chtml->EditableBlock("ccc","11cc333cc");
$chtml->WriteHtml();
?>