Umumnya, ketika kita menggunakan PHP untuk mengeluarkan file html, kita selalu menggunakan string panjang seperti $head="<head>...</head>" untuk menyelesaikannya. Kelas ini terutama menyediakan metode sederhana untuk menghasilkan file html menggunakan PHP. Hindari terlalu banyak string panjang dalam program.
File definisi kelas createhtml.class.php adalah sebagai berikut:
<?php
//------------------
//TCbuatHTML
//Buat kelas file html statis berdasarkan file template
// Penulis: sharetop
// email:[email protected]
//------------------
//*****Tentukan fungsi kerja yang diperlukan
//Konvensi dimulai dengan tag <!--##nama##-->
//Akhiri dengan tag < !--@@nama @@-->
fungsi dimulai($str){
$pattern="<!--##[a-zA-Z]+##-->";
if(ereg($pattern,$str)) mengembalikan nilai true;
kembali salah;
}
fungsi selesai($str){
$pattern="< !--@@[a-zA-Z ]+@@-->";
if(ereg($pattern,$str)) mengembalikan nilai true;
kembali salah;
}
fungsi getname($str){
$tmp=meledak("##",$str);
kembalikan $tmp[1];
}
//******************
//************Kelas definisi
kelas TBuatHTML {
var $HTTemplat;
var $NamaFile;
var $ModiString;
//********fungsi antarmuka
//Membangun templat
fungsi TBuatHTML($tmplate){
$ini->HTtemplate=$tmplate;
}
//Tetapkan nama file keluaran
fungsi SetHTML($namafile){
$ini->NamaFile=$namafile;
}
//Tetapkan nama tag dan string pengganti yang sesuai
fungsi EditableBlock($nama,$ganti){
$ini->ModiString[$nama]=$ganti;
}
//Tulis berkas HTML
fungsi TulisHtml(){
$fc=file($ini->HTTemplate);
$fp=fopen($ini->NamaFile,"w");
$k=hitungan($fc);
$mulai=salah;
$pertama=salah;
$tag="";
untuk($i=0;$i<$k;$i++){
jika(isbegin($fc[$i])){
fput($fp,$fc[$i]);
$mulai=benar;
$pertama=benar;
$tag=getname($fc[$i]);
melanjutkan;
}
if(isfinish($fc[$i])){
fput($fp,$fc[$i]);
$mulai=salah;
$pertama=salah;
$tag="";
melanjutkan;
}
jika($mulai==benar){
if($pertama==benar) {
$fc[$i]=$ini->ModiString[$tag]." ";
$pertama=salah;
}
lain $fc[$i]="";
}
fput($fp,$fc[$i]);
}
fclose($fp);
}
//--------kelas berakhir
}
?>
Contohnya seperti berikut:
(
Pertama buatlah file berformat html dan beri tanda <!--aaa--> pada tempat yang ingin diganti
. Catatan!! Kalimat ini ada pada baris tersendiri...
< !--@@aaa @@--> Perhatian! ! Kalimat ini harusnya berada pada baris terpisah, dsb.)
<?
memerlukan "buathtml.kelas.php";
$chtml=TCreateHTML baru("template.htm");
$chtml->SetHTML("berita.htm");
$chtml->EditableBlock("aaa","11aa111aa");
$chtml->EditableBlock("bbb","11bbb122bb");
$chtml->EditableBlock("ccc","11cc333cc");
$chtml->WriteHtml();
?>