<?php class Parser { private $_tpl; public function __construct($_tplFile) { if (! $this->_tpl = file_get_contents($_tplFile)) { exit('ERROR:模版文件读取错误'); } } private function parvar() { $_patten = '/<!--\s+\{$([\w]+)\}\s+-->/'; if (preg_match($_patten,$this->_tpl)) { $this->_tpl = preg_replace($_patten, "<?php echo $this->_vars[''];?>",$this->_tpl); } } private function parif(){ $_pattenif = '/<!--\s+\{if\s+$([\w]+)\}\s+-->/'; $_pattenElse = '/<!--\s+\{else\}\s+-->/'; $_pattenEndif = '/<!--\s+\{\/if\}\s+-->/'; if (preg_match($_pattenif,$this->_tpl)) { if (preg_match($_pattenEndif,$this->_tpl)) { $this->_tpl = preg_replace($_pattenif,"<?php if ($this->_vars['']){?>",$this->_tpl); $this->_tpl = preg_replace($_pattenEndif,"<?php } ?>",$this->_tpl); if (preg_match($_pattenElse,$this->_tpl)) { $this->_tpl = preg_replace($_pattenElse,"<?php }else{?>",$this->_tpl); } }else{ echo 'ERROR:IF语句没有关闭!'; } } }
Selepas menerima kandungan fail templat, bina kaedah, dapatkan kandungan fail templat dan huraikannya, gunakan pembolehubah biasa untuk menghuraikan penyataan IF, dan kemudian menghuraikan fail templat untuk menjana fail yang disusun.
Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn
Artikel Berkaitan
24 Aug 2023
Kelas StringTemplate digunakan untuk menghuraikan rentetan format untuk menjadikannya serasi dengan String.Format. Kelas StringTemplate kepunyaan perpustakaan NString, yang mempunyai kaedah sambungan. Kaedah ini menjadikan manipulasi rentetan mudah digunakan, mis. IsNullOrEmpty()IsNullOrWhiteSpace()Join()Truncate()Left()Kanan()Capitalize()StringTemplate.Format adalah lebih baik daripada String.Format kerana ia lebih mudah dibaca dan kurang terdedah kepada ralat. Susunan nilai boleh diformat dengan mudah. Bagaimana nilai ini diformatkan
29 Nov 2024
Penghuraian XML dalam Java: Membandingkan Kelas Terbina dalam dengan Dom4jApabila menavigasi landskap luas perpustakaan Java untuk penghuraian XML, adalah penting...
09 Aug 2023
Bermula dengan perangkak PHP: Bagaimana untuk memilih perpustakaan kelas yang betul? Dengan perkembangan pesat Internet, sejumlah besar data bertaburan di pelbagai laman web. Untuk mendapatkan data ini, kami selalunya perlu menggunakan perangkak untuk mengekstrak maklumat daripada halaman web. Sebagai bahasa pembangunan web yang biasa digunakan, PHP juga mempunyai banyak perpustakaan kelas yang sesuai untuk perangkak untuk dipilih. Walau bagaimanapun, terdapat beberapa faktor utama yang perlu dipertimbangkan semasa memilih perpustakaan yang sesuai dengan keperluan projek anda. Kekayaan fungsi: Perpustakaan perangkak yang berbeza menyediakan fungsi yang berbeza. Sesetengah perpustakaan hanya boleh digunakan untuk mengikis web mudah, manakala yang lain
07 Nov 2024
Mengisytiharkan Struktur/Kelas Templat sebagai RakanDalam C , seseorang boleh menghadapi kesukaran apabila mengisytiharkan struct atau kelas templat sebagai rakan kepada orang lain...
14 Nov 2024
Mengisytiharkan Templat Kelas sebagai Rakan: A Deeper DiveIn C , adalah mungkin untuk menentukan kelas sebagai rakan kepada kelas lain, memberikan akses kepada...
11 Feb 2024
templateparsingerror:template::1:unexpected"="inoperand Ralat di atas berlaku semasa melaksanakan arahan berikut dalam tingkap, dockerinspect--format="{{range$key,$value:=.Config.Env}}{{ifeq( indeks (split$value"=")0)"VERSION"}}{{$value}}{{end}}{{end}}"octopusbi-agent-backend mungkin
Hot Tools
Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan
Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda
Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej