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