Обычно, когда мы используем PHP для вывода html-файла, мы всегда используем для завершения длинную строку, например $head="<head>...</head>". Этот класс в основном предоставляет простой метод вывода HTML-файлов с использованием PHP. Избегайте слишком большого количества длинных строк в программе.
Файл определения класса createhtml.class.php выглядит следующим образом:
<?php
//------------------
//TCreateHTML
//Создаем класс статического html-файла на основе файла шаблона
// Автор: Sharetop
// электронная почта: [email protected]
//------------------
//*****Определяем необходимую рабочую функцию
//Соглашение начинается с тега <!--##name##-->
//Завершаем тегом < !--@@name @@-->
функция isbegin($str){
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) возвращает true;
вернуть ложь;
}
функция isfinish($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) возвращает true;
вернуть ложь;
}
функция getname($str){
$tmp=explode("##",$str);
вернуть $tmp[1];
}
//******************
//************Класс определения
класс TCreateHTML {
вар $HTemplate;
вар $FileName;
вар $ModiString;
//*******функция интерфейса
//Создаем шаблон
функция TCreateHTML($tmplate){
$this->HTemplate=$tmplate;
}
//Устанавливаем имя выходного файла
функция SetHTML($имя_файла){
$this->FileName=$filename;
}
//Установим имя тега и соответствующую строку замены
функция EditableBlock($name,$replace){
$this->ModiString[$name]=$replace;
}
//Запись HTML-файла
функция WriteHtml(){
$fc=file($this->HTemplate);
$fp=fopen($this->FileName,"w");
$к=счет($ФК);
$ начало = ложь;
$первый = ложь;
$тег="";
for($i=0;$i<$k;$i++){
если (isbegin($fc[$i])){
fputs($fp,$fc[$i]);
$begin=истина;
$первый=истина;
$tag=getname($fc[$i]);
продолжать;
}
если (isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$ начало = ложь;
$первый = ложь;
$тег="";
продолжать;
}
если($begin==истина){
если($first==истина) {
$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("ааа","11aa111aa");
$chtml->EditableBlock("bbb","11bbb122bb");
$chtml->EditableBlock("ccc","11cc333cc");
$chtml->WriteHtml();
?>