2011-11-30 2 views
0

joomla에서와 같이 PHP에서 내 자신의 태그를 해석하려면 어떻게해야합니까? 사용자 정의 태그가 구문 분석 템플릿 - - 적절한 HTML로 변환 -> PHP를위한 템플릿 엔진 같은 (스마티태그를 해석하는 방법은 무엇입니까?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>"> 

<head> 
<jdoc:include type="head" /> 
<?php JHTML::_('behavior.mootools'); ?> 
+1

편집기에 입력하십시오. 당신이 묻기를 원하는 것은 "joomla에서 PHP로 내 태그를 어떻게 해석 할 수 있습니까?"입니다. - 올바른 질문을하십시오. – DaveRandom

+0

네 말이 맞아. 내가 바꿨다 – balping

+0

누구? 제발 도와주세요 – balping

답변

0

당신은 파서를 만들어야합니다

는 줌라 템플릿 파일의 일부입니다 예를 들어). 임 제대로 이해하면

+0

어떻게 그럴 수 있습니까? – balping

0

당신은 당신이 당신의 자신의 태그를 사용하려면 템플릿을 가지고있다. 당신은 file_get_contents()

$content = file_get_contents('path_to_your_template_file'); 

그런 다음 사용할 preg_replace_callback()를 사용하여 템플릿 내용을 얻을 수 있습니다 태그를 일치시키는 정규식, 그리고 원하는 것으로 바꾸는 콜백 함수.

$content = preg_replace_callback('/<\$mainNav(.*)\/\$>/',array(get_class($this), 'mainNavCallback'),$content); 

함수 mainNavCallback은() 등 사용자 정의 태그의 내용을 수신하고 처리 할 수있는 사용자 정의 속성을 다음 대구는이 사용자 정의 태그를 찾습니다.

호프가 도움이된다면, 잠시 동안 주변에서 놀아 봐야 할 일이있을 것입니다. 행운을 빕니다!

+0

감사합니다. 이런 식으로하고 싶지만 문자열에 내 태그를 사용하고 싶지는 않습니다. 예 :' balping

+0

파일의 모든 PHP에 대해 맞춤 태그를 만들어야 할 수도 있습니다 그래서 당신은 문자열로 파일과 함께 작업 할 수 있습니다 그렇지 않으면 어떻게 태그를 해석 할거야? 그런 다음 파일은 PHP가 반복적으로 실행하는 HTML 파일 일 수 있으며 사용자 정의 태그와 $ this-> language와 같은 PHP와 일치합니다. 콜백 함수에서 처리 할 수 ​​있습니다. – Karl

+0

또는 심지어 eval()의 일부 사용법이 유용 할 수 있습니다. 이제 사람들은 eval이 얼마나 나쁜지에 대해 논평 할 것입니다. 그러나 이것은 eval 태그의 악의적 인 애플리케이션 일 수 있습니다. 그러나 다시 나는 브레인 스토밍 만하고있다. – Karl

관련 문제