php - 如何在 PHP 中回显 HTML?

标签 php html templates echo

我想有条件地输出 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/

相关文章:

php - 列计数与正确语法中的行错误处的值计数不匹配

php - json多维数组和jquery?

html - <li> - 与上一个文本在同一行的元素

javascript - Kendo UI - 将 Text() 封闭的文本转换为 <span> 编码的 HTML

javascript - SailsJS 未将数据传递到 View 模板

php - 使用 PHPWord 下载 DOCX 文件时出现损坏的文件

javascript - KineticJS 和 requestanimationframe

c++ - 我可以使用 C++ 模板生成函数的 Unicode/ANSI 变体,而不是使用预处理器吗?

Twig 模板内容的 Javascript 正则表达式

javascript - 数据表中的多个子行