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/1100354/

相关文章:

javascript - jQuery attr 在 aspx 上替换

javascript - 在新窗口中打开 HTML 链接

javascript - 如何在 Javascript 中的 for 循环内 append html 模板?

c++ - 将元组转换为模板中的结构

php - 以微秒为单位的时间戳是否总是唯一的?

php - 尝试在 Laravel 中通过通知返回存储值时出错

html - CSS Background-Size 不适用于静态颜色

c++ - 将数组数据插入模板

javascript - 通过 JavaScript 为所有访问者更新内容

php - 使用下拉菜单将数据发送到数据库