2011-04-06 5 views
4

HTML 내용을 PHP 변수에 할당하는 방법을 설명하기가 어렵습니다. 당신은 당신이 필요로하는 내용을 HTML 파일을 구문 분석하고 얻으려면 DOMDocument을 사용할 수 있습니다 ob_get_contents() 또는 ob_get_clean()HTML 내용을 PHP 변수에 할당

<?php ob_start(); ?> 
<div>Contents goes <b>here</b></div> 
<?php $contents = ob_get_contents(); ?> 
+1

, 나는 히어 닥 사용하는 거라고? –

+4

정말 필요합니다 –

+0

전자 메일 내용이 HTML로되어 있습니다. 원하는 내용은 mail() fuckntion –

답변

15

내에 없습니다.

+5

대신 [''ob_get_clean'] (http://www.php.net/manual/en/function.ob-get-clean.php)을 사용해야합니다. – Charles

+0

@charles 감사합니다. ob_get_clean이 (가) 추가되었습니다. – Robik

+0

차이점은 무엇입니까? –

0

다음 HTML 내용은 ob_get_contents로 시도해보십시오 PHP script.as

<?php $a_div = ?><div>Contents goes <b>here</b></div> 
+0

이러한 솔루션으로 도대체 무엇이 중요할까요? 출력을 표시하고 싶지 않습니다. 메일 기능을 사용하여 메일을 보낼 수 있습니다. –

+0

HEREDOC을 사용하십시오. – Headshota

6

(일반적으로 내가 PHP에 의해 자리를 대체 HTML 템플릿을 사용하고 있습니다) 필요한 경우 ... 두 가지 방법이 있습니다 :

$testVar = <<<EndOfHtml 
<div style="border: 48px solid red">test</div> 
EndOfHtml; 

print $testVar 

쉬운 방법, 너무 우아하지 - 작은 따옴표로 html 코드를 포장 . 그래서 큰 따옴표를 벗어날 필요가 없습니다.

$test_var = '<div style="border: 48px solid red">test</div>' 

도움이 되셨습니까? 그 다음은 출력 버퍼링을 사용하여 포함 PHP와 혼합 HTML과 PHP 파일의 경우 :-)

+0

오류 –

+0

이 솔루션을 사랑하지만 여기에서 작동하지 않습니다 –

+0

친절하게 작동 코드를 게시 할 수 있습니까? –

8

는 별도의 파일에 저장 가지지 않고, PHP,과의 원시 HTML, 그냥

$a_div = file_get_contents('email.html'); 

이 될 것입니다 경우 Robik의 대답처럼.

ob_start(); 
include 'mail.template.php'; 
$a_div = ob_get_contents(); 

하지만 상대적으로 작은 만약 당신이 무엇을해야합니까에 대한

$a_div = <<<HERE 
<div>Contents goes <b>here</b></div> 
HERE; 
+0

이것은 의미가 있지만 PHP 태그가 시작되고 끝나는 위치는 어디입니까? –

+0

Contents goes here

+0

@Xcoder는 스크립트의 다른 위치와 같습니다. PHP 코드 바로 앞에. –

관련 문제