2011-04-06 10 views
4

HTML変数をPHP変数に割り当てる方法を説明するのは難しいです。あなたが必要とする内容をhtmlファイルを解析して取得するにはDOMDocumentを使用することができますob_get_contents()またはob_get_clean()PHP変数へのHTMLコンテンツの割り当て

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

を使用したいですか? –

+4

私は本当にそれが必要です –

+0

電子メールの内容はHTMLで書かれていますが、私が望むのはmail()fucntion –

答えて

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テンプレートを使用している)必要に応じて... は、2つの方法があります。

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

print $testVar 

簡単な方法は、あまりにもエレガントではない - 単一引用符でのHTMLコードをラップ。あなたは二重引用符をエスケープする必要はありません:

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

は役に立ちましたか? :-)

+0

エラー –

+0

私はこのソリューションが大好きですが、ここでは機能しません –

+0

作業コードを投稿できますか? –

8

それはPHPと混合HTMLとPHPファイルだ場合、出力バッファリングを使用して、それを含めるだけで

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

になり、別のファイルに保存され、その中にいないPHPで、その生の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

<?ph $ a_div = <<

Contents goes here
<?php HERE; ?> –

+0

@Xcoderはあなたのスクリプト内の他の場所と同じです。 PHPコードの直前。 –

関連する問題