我想知道,有没有办法在不使用include函数的情况下将HTML页面插入PHP?我不想使用外部html文件,我想将html编码直接写入php编码。
感谢您的帮助!
答案 0 :(得分:2)
交错:
<?php
// Some php code.
?>
<html>
<head>
<title>Hello!</title>
</head>
<body>
<h1>Header</h1>
<?php /* More php code. */ ?>
<p>Blah!</a>
</body>
</html>
<?php /* Even more php. */ ?>
从最佳实践的角度来看,避免这样做 - 在同一个地方使用业务逻辑(PHP)和表示(HTML)会使维护更加困难。
编辑:解决您的评论。您可以采用相同的方式执行此操作,也可以使用echo
:
<?php if (x == 5) { ?>
<p>Blah!</a>
<?php } else {
echo '<p>Bleh</p>';
} ?>
答案 1 :(得分:0)
混合使用HTML和PHP是非常糟糕的习惯(不仅仅是输出控制),但是你可以去:
$html = "<div>This is HTML</div>"
echo $html;
或Heredoc语法:
$html = <<<EOF
<div>
<p>
Some longer HTML
</p>
</div>
EOF;
echo $html;
或使用alternative syntax for control statements如果输出取决于某些条件(或者如果循环遍历数组等)(这比使用字符串构建HTML要好得多):
<?php if($foo): ?>
<div> Some HTML output </div>
<?php else: ?>
<div> Some other HTML </div>
<?php endif; ?>
或只是
<?php //PHP here ?>
<div>HTML</div>
<?php //more PHP ?>
<div>more HTML</div>
<?php //even more PHP ?>
答案 2 :(得分:0)
如果您需要根据条件包含HTML代码段,则可以像这样交错代码。在这种情况下,使用alternative syntax for loop controls
很方便<?php if ( $var ): ?>
<html>
<title>YAY</title>
</html>
<?php endif; ?>
所以代码更清晰,你可以保留HTML语法着色(如果你的编辑支持它)。