PHP 라이브러리 기타 도서관 PHP 템플릿 파싱 클래스
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语句没有关闭!';
      }
    }
  }

템플릿 파일의 내용을 받은 후 메서드를 구성하고, 템플릿 파일 내용을 얻어서 구문 분석하고, 일반 변수를 사용하여 IF 문을 구문 분석한 다음 템플릿 파일을 구문 분석하여 컴파일된 파일을 생성합니다.

부인 성명

이 사이트의 모든 리소스는 네티즌이 제공하거나 주요 다운로드 사이트에서 재인쇄되었습니다. 소프트웨어의 무결성을 직접 확인하십시오! 이 사이트의 모든 리소스는 학습 참고용으로만 사용됩니다. 상업적 목적으로 사용하지 마시기 바랍니다. 그렇지 않으면 모든 결과에 대한 책임은 귀하에게 있습니다! 침해가 있는 경우 당사에 연락하여 삭제하시기 바랍니다. 연락처: admin@php.cn

관련 기사

PHP DNS 파싱 클래스 PHP DNS 파싱 클래스

25 Jul 2016

PHP DNS 파싱 클래스

최근에 모아서 작성한 초간단하고 실용적인 HTML 파싱 클래스 최근에 모아서 작성한 초간단하고 실용적인 HTML 파싱 클래스

25 Jul 2016

최근에 모아서 작성한 초간단하고 실용적인 HTML 파싱 클래스

PHP 템플릿 구문 분석 클래스 PHP 템플릿 구문 분석 클래스

25 Jul 2016

PHP 템플릿 구문 분석 클래스

템플릿 템플릿 매개변수에서 Z와 클래스 Z의 차이점은 무엇입니까? 템플릿 템플릿 매개변수에서 Z와 클래스 Z의 차이점은 무엇입니까?

02 Nov 2024

템플릿 템플릿 매개변수템플릿 템플릿 매개변수는 더 높은 수준의 추상화 및 코드를 허용하는 C의 강력한 기능입니다.

discuz 템플릿 Discuz 템플릿 엔진 캡슐화 클래스 코드 discuz 템플릿 Discuz 템플릿 엔진 캡슐화 클래스 코드

29 Jul 2016

discuz 템플릿: discuz 템플릿 Discuz 템플릿 엔진 캡슐화 클래스 코드: 주요 기능 설명 제거 Discuz 언어 패키지 기능 이식 Discuz 템플릿의 모든 기능에는 자동 업데이트 캐시 및 라이프 사이클 기능이 추가됩니다. 템플릿에서의 사용 방법은 템플릿과 동일합니다. Discuz.그러므로 불필요한 설명은 하지 않겠습니다.discus즈의 언어팩 기능을 사용하려면 template.class.php의 172번째 줄에 있는 주석을 제거하고 추가하면 됩니다. template.func.php 및 discuz 원본 언어

클래스 템플릿의 클래스 이름은 템플릿 매개변수 없이 어떻게 작동합니까? 클래스 템플릿의 클래스 이름은 템플릿 매개변수 없이 어떻게 작동합니까?

31 Oct 2024

템플릿 매개변수가 없는 클래스 템플릿의 클래스 이름다음과 같이 정의된 클래스 템플릿을 고려하십시오.template class Link {...

See all articles