似乎是一个简单的问题,但我无法在任何地方找到可靠的答案。我正在输出大量的HTML并且发现转义是容易出错并且难以阅读,但我也希望将HTML格式化得很好。
想要这样的东西(虽然我知道这不会有问题):
echo '<div id="test">\n';
echo '\t<div id="test-sub">\n';
echo '\t</div>\n';
echo '</div>\n';
该怎么做?
感谢。
答案 0 :(得分:3)
Heredoc文本的行为就像一个 双引号字符串,没有 双引号。这意味着报价 在heredoc中不需要逃脱
答案 1 :(得分:3)
有很多方法可以确定,例如,这很好用(PHP_EOL是一个交叉Platt形式常量,用于新行Char(EndOfLine)):
echo "<div id=\"test\">".PHP_EOL;
echo "\t<div id=\"test-sub\">".PHP_EOL;
echo "\t</div>".PHP_EOL;
echo "</div>".PHP_EOL;
答案 2 :(得分:-1)
使用双引号
或多行回声字符串:
echo '<div id="test">
<div id="test-sub">
</div>
</div>';
或模板。
答案 3 :(得分:-1)
我使用了一小部分我编写的类来输出格式良好的HTML。如果您有兴趣,可以找到它here。
为了得到你想要的东西,我最终会写出像
这样的东西$mypage = page::blank();
$mypage->opennode('div', 'id="test"');
$mypage->opennode('div', 'id="test-sub"');
$mypage->closenode(2); // div, div
echo $mypage->build_output_strict();
另一种选择是使用完整的模板引擎,其中有很多。