我想有条件地输出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";
发布于 2009-07-08 20:29:34
像这样尝试(heredoc语法):
$variable = <<<XYZ
<html>
<body>
</body>
</html>
XYZ;
echo $variable;
发布于 2009-07-08 20:28:13
你可以使用alternative syntax alternative syntax for control structures并突破PHP:
<?php if ($something): ?>
<some /> <tags /> <etc />
<?=$shortButControversialWayOfPrintingAVariable ?>
<?php /* A comment not visible in the HTML, but it is a bit of a pain to write */ ?>
<?php else: ?>
<!-- else -->
<?php endif; ?>
发布于 2009-07-08 20:54:05
基本上,您可以将HTML放在PHP标记之外的任何位置。在显示任何数据之前进行所有必要的数据处理,以便将逻辑和表示分开,这也是非常有益的。
数据显示本身可以位于同一PHP文件的底部,也可以包括一个主要由HTML组成的单独PHP文件。
我更喜欢这种紧凑的风格:
<?php
/* do your processing here */
?>
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<?php foreach ( $something as $item ) : ?>
<p><?=$item?></p>
<?php endforeach; ?>
</body>
</html>
注意:您可能需要使用<?php echo $var; ?>
而不是<?=$var?>
,这取决于您的PHP设置。
https://stackoverflow.com/questions/1100354
复制相似问题