현재 위치: > 최신 기사 목록> MB_EREGI_REPLAPE를 사용하여 기본 템플릿 엔진을 구축하십시오

MB_EREGI_REPLAPE를 사용하여 기본 템플릿 엔진을 구축하십시오

M66 2025-06-03

PHP 개발에서 템플릿 엔진은 프로그램 로직을 페이지 디스플레이에서 분리하고 코드의 유지 관리 가능성을 향상시키는 데 사용되는 일반적인 기술입니다. 이 기사는 PHP의 내장 MB_EREGI_REPLACE 기능을 사용하여 간단하지만 실용적인 템플릿 엔진을 구현하는 방법을 소개합니다.

mb_eregi_replace 란 무엇입니까?

MB_EREGI_REPLACE 는 PHP Multi-Byte String Extension에서 제공되는 정기적 인 교체 함수입니다. 중국어와 같은 다중 바이트 문자를 포함하는 문자열을 처리하는 데 적합한 사례에 민감한 다중 바이트 정규식 교체를 지원합니다.

기능 프로토 타입 :

 mb_eregi_replace(string $pattern, string $replacement, string $string): string
  • $ 패턴 : 정규 표현 패턴

  • $ 교체 : 콘텐츠를 교체하십시오

  • $ string : 대체 된 문자열을 검색합니다

간단한 템플릿 엔진 구축을위한 아이디어

템플릿의 변수를 {{variable name}} 과 같은 특수 태그로 표시 할 수 있습니다. 프로그램이 템플릿 내용을 읽은 후에는 정규식을 사용하여 {{...}} 의 형태로 모든 변수를 일치시킨 다음 해당 값으로 대체합니다.

예를 들어 템플릿 내용 :

 <h1>환영, {{username}}!</h1>
<p>귀하의 이메일 주소입니다 {{email}}</p>

들어오는 데이터 :

 [
  'username' => 'Xiao Ming',
  'email' => 'xiaoming@m66.net'
]

렌더링 후 :

 <h1>환영, Xiao Ming!</h1>
<p>귀하의 이메일 주소입니다 xiaoming@m66.net</p>

샘플 코드

다음 코드는 간단한 템플릿 엔진 구현을 보여줍니다.

 <?php

function render_template($template, $data) {
    // 성냥 {{변수 이름}},사용 mb_eregi_replace 교체하십시오
    foreach ($data as $key => $value) {
        // 构建성냥模式,사례 무감각 지원
        $pattern = '{{\s*' . preg_quote($key, '/') . '\s*}}';
        $template = mb_eregi_replace($pattern, $value, $template);
    }
    // 处理未성냥到的变量,빈 줄로 교체하십시오
    $template = mb_eregi_replace('{{[^}]+}}', '', $template);

    return $template;
}

// 템플릿 문자열 예
$template = <<<HTML
<h1>환영, {{username}}!</h1>
<p>귀하의 이메일 주소입니다 {{email}}</p>
<p>공식 웹 사이트 주소:<a href="https://m66.net/about">m66.net 우리에 대해</a></p>
HTML;

// 데이터 렌더링 데이터
$data = [
    'username' => 'Xiao Ming',
    'email' => 'xiaoming@m66.net'
];

// 출력 렌더링 결과
echo render_template($template, $data);

?>

코드 설명

  1. 루프 교체 변수 <br> 수신 데이터 $ 데이터를 가로 지르고 각 키 이름에 대한 해당 템플릿 변수를 구성하고 교체하려면 MB_EREGI_REPLACE 에 전화하십시오.

  2. 나머지 비교할 수없는 변수를 교체하십시오 <br> 데이터와 함께 템플릿에 전달되지 않는 변수가있는 경우 MB_EREGI_REPLAPE로 바꾸십시오 ( '{{[^}]+}', '', $ 템플릿); 처리되지 않은 템플릿 변수가 표시되는 페이지를 피하려면

  3. 다중 바이트 지원 및 사례 insensitive <br> 정기적 인 교체는 MB_EREGI_REPLATE를 통해 처리되며 중국어와 같은 다중 바이트 문자는 지원되고 사례에 민감합니다.

주목해야 할 것

  • 이 템플릿 엔진은 복잡한 논리적 판단을 지원하지 않으며 간단한 가변 교체에만 적합합니다.

  • 템플릿 변수 이름은 특수 문자를 피해야하며 영숫자와 밑줄이 권장됩니다.

  • URL 도메인 이름은 M66.net 에서 균일하게 사용되며 통합 관리 및 교체에 편리합니다.

요약

PHP의 MB_EREGI_REPLACE 기능을 사용하여 기본 템플릿 엔진을 신속하게 구축하고 가변 교체 기능을 쉽게 구현할 수 있습니다. 단순성에도 불구하고 초보자 학습 및 소규모 프로젝트에 적합한 템플릿 엔진 메커니즘을 이해하는 훌륭한 예입니다.