بشكل عام، عندما نستخدم PHP لإخراج ملف html، نستخدم دائمًا سلسلة طويلة مثل $head="<head>...</head>" لإكماله. توفر هذه الفئة بشكل أساسي طريقة بسيطة لإخراج ملفات html باستخدام PHP. تجنب الكثير من السلاسل الطويلة في البرنامج.
ملف تعريف الفئة createhtml.class.php هو كما يلي:
<?php
//------------------
//TCreateHTML
// قم بإنشاء فئة ملف html ثابتة بناءً على ملف القالب
// المؤلف: Sharetop
// البريد الإلكتروني:[email protected]
//------------------
//***** تحديد وظيفة العمل المطلوبة
// تبدأ الاتفاقية بالعلامة <!--##name##-->
//انتهى بالعلامة < !--@@name @@-->
الدالة تبدأ($str){
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) يعود صحيحًا;
عودة كاذبة.
}
الدالة isfinish($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) يعود صحيحًا;
عودة كاذبة.
}
اسم الوظيفة($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
وظيفة الكتابة هتمل () {
$fc=file($this->HTemplate);
$fp=fopen($this->FileName,"w");
$k=count($fc);
$begin=false;
$first=false;
$tag="";
for($i=0;$i<$k;$i++){
إذا(أبدأ($fc[$i])){
fputs($fp,$fc[$i]);
$begin=true;
$first=true;
$tag=getname($fc[$i]);
يكمل؛
}
إذا(isfinish($fc[$i])){
fputs($fp,$fc[$i]);
$begin=false;
$first=false;
$tag="";
يكمل؛
}
إذا($تبدأ==صحيح){
إذا($الأول==صحيح) {
$fc[$i]=$this->ModiString[$tag]." ";
$first=false;
}
آخر $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();
?>