当我使用PHP和HTML时,我通常会这样做:
<?php if ($myvar = 'blah') {
echo '<div>some html here</div>';
} else {
echo 'Nothing here';
}
?>
这有效,但我现在有一堆HTML,我需要添加一个条件,我试图避免这样做:
<?php if ($myvar = 'blah') {
echo '<div>some html here</div>';
echo '<div>some other html here</div>';
echo '<div>some other html here</div>';
}
?>
有没有办法包装整个html块呢?
答案 0 :(得分:6)
您可以删除HTML块并将其反转。
<?php
// get value of $myvar here
?>
<?php if ($myvar == 'blah):?>
<div>some html here</div>
<div>some html here</div>
<?php elseif ($myvar == 'test'):?>
<div>some html here</div>
<div>some html here</div>
<div>some html here</div>
<?php else:?>
<div>some html here</div>
<?php endif;?>
或者您也可以使用EOD,例如
echo <<<EOD
<div>some html here</div>
<div>some html here</div>
<div>some html here</div>
EOD;
答案 1 :(得分:2)
退出PHP模式。
<?php if ($myvar = 'blah') { ?>
<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>
<?php } ?>
或者,如果单独维护它是有意义的,请将数据移动到另一个文件:
<?php if ($myvar = 'blah') {
include('foo.php');
} ?>
或者,使用heredoc syntax:
if ($myvar = 'blah') {
echo <<<EOT
<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>
EOT;
}
答案 2 :(得分:0)
你可以这样做。回声可以跨越多行
<?php if ($myvar = 'blah') {
echo '<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>';
}
?>
或者你可以使用echo函数的多个参数
<?php if ($myvar = 'blah') {
echo '<div>some html here</div>',
'<div>some other html here</div>',
'<div>some other html here</div>';
}
?>
答案 3 :(得分:0)
我有时会这样做:
<?php
if ($myvar = 'blah') {
?>
<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>
<?php
}
?>
答案 4 :(得分:0)
<强>原始强>
echo '<div>some html here</div>';
echo '<div>some other html here</div>';
echo '<div>some other html here</div>';
合并为一个变量
$html = '<div>some html here</div><div>some other html here</div><div>some other html here</div>'
echo $html;
变量连接
$html = '<div>some html here</div>';
$html .= '<div>some other html here</div>';
$html .= '<div>some other html here</div>';
echo $html;
关闭php标记
?>
<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>
<?php
答案 5 :(得分:0)
仅 输出 HTML的可靠方法是退出PHP模式:
<?php if ($myvar = 'blah') { ?>
<div>some html here</div>
<div>some other html here</div>
<div>some other html here</div>
<?php } ?>
除此之外,不应打印任何HTML标记。
要将结果HTML存储在变量中,您可以使用上面的方法与输出缓冲一起使用,或者使用heredoc / concatenation。