cari
RumahPerpustakaan PHPPerpustakaan lainkelas penghuraian templat php
kelas penghuraian templat php
<?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.

Penafian

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

Kelas templat rentetan dalam C#Kelas templat rentetan dalam C#

24Aug2023

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

Bermula dengan perangkak PHP: Bagaimana untuk memilih perpustakaan kelas yang betul?Bermula dengan perangkak PHP: Bagaimana untuk memilih perpustakaan kelas yang betul?

09Aug2023

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

Bagaimana untuk Mengisytiharkan Struktur/Kelas Templat sebagai Rakan dalam C ?Bagaimana untuk Mengisytiharkan Struktur/Kelas Templat sebagai Rakan dalam C ?

07Nov2024

Mengisytiharkan Struktur/Kelas Templat sebagai RakanDalam C , seseorang boleh menghadapi kesukaran apabila mengisytiharkan struct atau kelas templat sebagai rakan kepada orang lain...

Bagaimana Anda Boleh Mengisytiharkan Templat Kelas sebagai Rakan dalam C?Bagaimana Anda Boleh Mengisytiharkan Templat Kelas sebagai Rakan dalam C?

14Nov2024

Mengisytiharkan Templat Kelas sebagai Rakan: A Deeper DiveIn C , adalah mungkin untuk menentukan kelas sebagai rakan kepada kelas lain, memberikan akses kepada...

Ralat penghuraian templat: templat::1: tidak dijangka '=Ralat penghuraian templat: templat::1: tidak dijangka '=" dalam operan

11Feb2024

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

Bagaimana untuk Mengisytiharkan Struktur atau Kelas Templat sebagai Rakan dalam C?Bagaimana untuk Mengisytiharkan Struktur atau Kelas Templat sebagai Rakan dalam C?

09Nov2024

Mengisytiharkan Struktur Templat atau Kelas sebagai pengaturcaraan FriendIn C, adalah mungkin untuk mengisytiharkan struct atau kelas templat sebagai rakan kepada yang lain...

See all articles