如何在PHP中回显HTML?

2022-08-30 06:57:35

我想有条件地输出HTML来生成页面,那么在PHP 4 +中回显HTML的多行代码段的最简单方法是什么?我需要使用像 Smarty 这样的模板框架吗?

echo '<html>', "\n"; // I'm sure there's a better way!
echo '<head>', "\n";
echo '</head>', "\n";
echo '<body>', "\n";
echo '</body>', "\n";
echo '</html>', "\n";

答案 1

有几种方法可以在PHP中回显HTML。

1. 在 PHP 标签之间

<?php if(condition){ ?>
     <!-- HTML here -->
<?php } ?>

2. 在回声中

if(condition){
     echo "HTML here";
}

对于回声,如果您希望在HTML中使用双引号,则必须使用单引号回显,如下所示:

echo '<input type="text">';

或者你可以像这样逃避它们:

echo "<input type=\"text\">";

3. 黑蠑

4. Nowdocs(从 PHP 5.3.0 开始)

模板引擎用于在主要包含 HTML 的文档中使用 PHP。事实上,PHP的最初目的是成为一种模板语言。这就是为什么在PHP中,您可以使用诸如短标签之类的东西来回显变量(例如)。<?=$someVariable?>

还有其他模板引擎(例如Smarty,Twig等)使语法更加简洁(例如)。{{someVariable}}

使用模板引擎的主要好处是将设计(表示逻辑)与编码(业务逻辑)分开。从长远来看,它还使代码更清晰,更易于维护。

如果您还有其他问题,请随时发表评论。

有关这些内容的进一步阅读,请参阅 PHP 文档


注意:不鼓励使用 PHP 短标记,因为它们仅在使用 php.ini配置文件指令启用时可用,或者 PHP 配置了该选项。无论从 5.4 开始的设置如何,它们都可用<??>short_open_tag--enable-short-tags


答案 2

像这样尝试(heredoc语法):

$variable = <<<XYZ
<html>
<body>

</body>
</html>
XYZ;
echo $variable;

推荐