我想知道下列内容是否可行?
<?php $html_string = ?>
<div>
some html
</div>
<?php ;
echo $html_string;
?>
也就是说,PHP可以“接收”以下HTML并将其分配给变量吗?
答案 0 :(得分:3)
查看Heredoc
<?php
$str = <<<EOF
<p>My</p>
<p>HTML</p>
<p>HTML</p>
EOF;
echo $str;
?>
答案 1 :(得分:2)
如果您正在寻找一种“简单”的多行字符串分配方法,那就是HEREDOC s:
<?php
$html = <<<EOL
blah blah
blah blah
blah blah
EOL;
答案 2 :(得分:1)
喜欢这个吗?
$html_string = '<div>somehtml</div>';
echo $html_string;
或者您可以将HTML存储在自己的文件中,并使用file_get_contents()
加载。
$html_string = file_get_contents("myhtml.html");
或者使用输出缓冲:
ob_start();
include "myhtml.html";
$html_string = ob_get_contents();
ob_end_clean();
答案 3 :(得分:1)
如果要按原样存储html,只需添加其他答案,您可以使用http://au1.php.net/file_get_contents将.html文件加载到字符串中然后回显它。制作模板的开始哈哈
答案 4 :(得分:1)
您描述的语法无效,因为在这种情况下,PHP会在;
之前自动添加?>
,使代码为:$html_string = ;
。
另一种方法是使用输出缓冲:
<?php ob_start() ?>
<div>
some html
</div>
<?php
$html_string = ob_get_clean();
echo $html_string;
?>
另一种方法是使用匿名函数,在这种情况下不插入;
:
<?php $html_string = function() { ?>
<div>
some html
</div>
<?php
};
$html_string();
?>