의 시작에서 대체 콘텐츠를 반환 때문에 나는 그 문제에 많은 시간을 잃고, 난 정말 사임 해요preg_replace이다 - 나는 모든 결과의 beggining에 가고, create_function와 preg_replace이다를 사용하는 경우 .. <p></p>를 출력
COMPONENT1 COMPONENT 2 마에 케 나스 malesuada ELIT lectus 펠리스, malesuada의 ultricies : 출력은, 그러나 그들은처럼 설립 일치의 자리에 있어야합니다. Curabitur 외과. Ut molesie, ultricies porta urna. 전리품, volutpat a, convallis ac, laoreet enim. Phasellus fermentum에서, dolor. 펠 텐 메스 시설. Nulla imperdiet amet magna를 앉는다. Vestibulum dapibus, mauris nec malesuada fames ac turpis velit, rhoncus eu, luctus et interdum adipiscing wisi.
되어야한다 :
마에 케 나스 malesuada ELIT lectus 펠리스, malesuada의 ultricies. Curabitur 외과. Ut molesie, ultricies porta urna. 전리품, volutpat a, convallis ac, laoreet enim. Phasellus fermentum COMPONENT1에서, dolor. 펠 텐 메스 시설. Nulla imperdiet 앉아 amet magna COMPONENT2. Vestibulum dapibus, mauris nec malesuada fames ac turpis velit, rhoncus eu, luctus et interdum adipiscing wisi.
function getcomponent($source){
$get = getXML(datadir.$source.'.xml')->content;
$getcomp = create_function("",' ?>'.$get.'<?php ');
$getcomp();
}
preg_match_all("/\[\#PHP (.*?) \#\]/",$content,$content3);
foreach ($content3[1] as $value) { //$content3[0]
$content2 = preg_replace("/\[\#PHP ".$value." \#\]/",getcomponent($value),$content);
$content = $content2;
}
나는 모든 팁을위한 매우 감사하게 될 것입니다. 건배!
예를 들어 코드를 단순화하면 조금 배 밖으로 나갔다고 생각합니다. 몇 가지 질문 : 왜 그런 함수를 작성한 다음 바로 호출할까요? $ 콘텐츠 란 무엇입니까? 일반적으로 당신은 여기서 무엇을하려고합니까? 그것은 당신이 파일에서 XML을 받고있는 것, 당신은 그것으로 무엇을하고 싶습니까? –
안녕하세요! $ content는 XML 파일의 페이지 콘텐츠입니다. 그 콘텐츠 안에는 [# component1 #] 및 [# component2 #] 같은 것이 있는데 component1.xml 및 component2.xml의 콘텐츠로 대체하려고합니다. 하지만 그 구성 요소 xml의 일반 PHP 코드가 있는데 실행하고 싶습니다. 왜이 create_function을 사용합니까? eval() 함수에 대한 재정의입니다. –