1

PHP 経由で大量の HTML コードを生成していますが、すぐに表示するのではなく、変数に格納する必要があります。しかし、コードが巨大な文字列にならないように、PHP から抜け出したいのです。

例(ただし、実際のコードははるかに大きくなります):

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>

私はこのようなことをしたい:

<?php
$content = 
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
;
?>

しかし、これはhtmlを値として返さず、ドキュメントに出力するだけであることを私は知っています。

しかし、これを行う方法はありますか?

ありがとう!

4

6 に答える 6

3

出力バッファリングを使用できます:

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

または、少し異なる方法はHEREDOC 構文です。

<?php
$content = <<<EOT
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
EOT;
?>
于 2009-10-14T18:27:00.807 に答える
0

これを試して:

<?php
$var = <<<EOD
my long string
EOD;
echo $var; 
?>

(編集は完了しましたが、私よりも速く編集した人がいます:))

于 2009-10-14T18:28:35.670 に答える
0

私の意見では、Smartyなどのテンプレート エンジンを検討する必要があります。これにより、HTML を PHP ファイルにハードコーディングする際の見苦しさをいくらか取り除くことができ、コードをより管理しやすくすることができます。

于 2009-10-14T18:28:36.707 に答える
0

html を html ファイルに保存し、そのファイルを変数に読み込むことができます。

于 2009-10-14T18:28:39.650 に答える
0

技術的にはまだ文字列ですが、PHP のヒアドキュメントに関するドキュメントを読むと面白いかもしれません。

ヒアドキュメント構文

$content = <<<EOT

<div>
    <span>text</span>
    <a href="#">link</a>
</div>

EOT;
于 2009-10-14T18:29:27.563 に答える
0

ヒアドキュメント構文を使用します。

于 2009-10-14T18:32:26.443 に答える