2011-01-10 5 views
3

아주 간단한 질문입니다. 전체 페이지를 변수로 인쇄 한 다음 필요한 부분을 사용하는 방법. 예를 들어전체 페이지 인쇄

코드가있는 경우 : 이제 우리는 해당 페이지로 이동하면

<?php 

$arr = array('hello','mate','world'); 
foreach ($arr as $a) {print "<p>".$a."</p>"; } 

?> 

, 우리는 배열 출력을 볼 수 있습니다,하지만 난 변수로 전체 페이지를 인쇄 한 후 정적 페이지를 생성하는 것을 선호 그걸 벗어 버려.

file_get_content or <<<EOT 일 수 있지만 나중에 가장 복잡한 옵션이 무엇인지 잘 모를 페이지가 더 복잡해집니다.

답변

8
당신의 정확한 요구 사항에 대해 확실

하지 만 :

ob_start(); 
require('/path/to/templates/foo.php'); 
$template = ob_get_contents(); 
ob_get_clean(); 
+0

은 매력처럼 작동합니다! – devjs11

1
ob_start(); 

// your code 

$var = ob_get_clean(); 

print $var; 
1

가 왜 smarty를 사용하지 않는, 템플릿에있는 모든 HTML을 넣어 그것으로 PHP 코드 나 변수를 삽입합니다. 결국 $x=$smarty->fetch('template_name');을 사용하면 모든 페이지를 $ x 변수에 넣을 수 있습니다.

+1

고맙습니다.하지만 지금은 PHP 코드가 필요합니다. – devjs11

+1

주변 사람들이 당신에게 말한 것처럼. 스크립트 시작 부분에'ob_start();'를 넣고, 마지막에 모든 것을 출력하고 싶다면'$ x = ob_get_clean();'을 넣어'$ x' 변수에 모든 결과를 출력하십시오 –

+0

감사합니다. 로난! – devjs11