我想有条件地输出 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";
最佳答案
有几种方法可以在 PHP 中回显 HTML。
1。在 PHP 标签之间
<?php if(condition){ ?>
<!-- HTML here -->
<?php } ?>
2。在 echo 中
if(condition){
echo "HTML here";
}
有了 echo ,如果你想在你的 HTML 中使用双引号,你必须像这样使用单引号 echo :
echo '<input type="text">';
或者你可以像这样逃避它们:
echo "<input type=\"text\">";
3。 Heredocs
4。 Nowdocs(自 PHP 5.3.0 起)
模板引擎 用于在主要包含 HTML 的文档中使用 PHP。事实上,PHP 的最初目的是成为一种模板语言。这就是为什么在 PHP 中,您可以使用短标签之类的东西来回显变量(例如 <?=$someVariable?>
)。
还有其他模板引擎(例如 Smarty、Twig 等)可以使语法更加简洁(例如 {{someVariable}}
)。
使用模板引擎的主要好处是将设计 (presentation logic) 与编码 (business logic) 分开。从长远来看,它还使代码更清晰、更易于维护。
如果您还有任何问题,请随时发表评论。
可以在 PHP documentation 中进一步阅读这些内容.
注意:PHP 短标签 <?
和 ?>
不鼓励,因为它们仅在使用 short_open_tag
启用时可用php.ini 配置文件指令,或者如果 PHP 配置了 --enable-short-tags
选项。 They are available, regardless of settings from 5.4 onwards .
关于php - 如何在 PHP 中回显 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58227903/