PHP에서 생성 된 데이터를 HTML 페이지로 대체하기 위해 PHP에서 '엔진'이라는 간단한 템플릿을 만들었습니다. 작동 방식은 다음과 같습니다 내 주요 템플릿 파일에서PHP - Regex에 대한 도움이 필요합니다.
, 정말 같은 변수를 가지고 :
이<title><!-- %{title}% --></title>
그때 메인 페이지로드를 위해 해당 변수에 데이터를 할당 그때가
$assign = array (
'title' => 'my website - '
);
콘텐츠 페이지 용으로로드되는 별도의 템플릿 블록 위의 코드는 실제로 머리글과 바닥 글을 처리합니다. 이러한 '내용 템플릿 파일'중 하나, 난과 같이 변수를 가지고 :
<!-- %{title=content page}% -->
을이 실행됩니다되면, 메인 템플릿 데이터가 결과적으로 콘텐츠 페이지 변수를 포함하도록 편집 :
<title>my website - content page</title>
다음 코드로이 작업을 수행합니다.
if (preg_match('/<!-- %{title=\s*(.*?)}% -->/s', $string, $matches)) {
// Find variable names in the form of %{varName=new data to append}%
// If found, append that new data to the exisiting data
$string = preg_replace('/<!-- %{title=\s*(.*?)}% -->/s', null, $string);
$varData[$i] .= $matches[1];
}
기본적으로 템플릿 변수를 제거한 다음 변수 데이터를 기존 변수에 할당합니다. 자,이 모든 것이 잘 작동합니다. 내가 겪고있는 문제는 템플릿 변수를 중첩하는 것입니다. 내가 다음과 같이하면 :
<!-- %{title=content page (author: <!-- %{name}% -->) -->
패턴은 때때로 각 변수의 시작 및 종료 태그를 엉망으로 만듭니다.
정규식을 수정하면 어떻게 되나요?
감사합니다.
저는 정규 표현식에별로 좋지 않습니다. 대안을 추천 할 수 있다면, 나는 그것을위한 전부입니다. 내가하는 일을 어떻게 또 성취 할 수 있니? – dave