PHP:如何隐藏/显示HTML块
我希望有人能帮我解决这个新问题。我刚刚来自一个ASP.Net环境,在那里很容易隐藏或显示HTML块。例如:表单的不同阶段,取决于用户输入的内容 隐藏或显示PHP:如何隐藏/显示HTML块,php,html,Php,Html,我希望有人能帮我解决这个新问题。我刚刚来自一个ASP.Net环境,在那里很容易隐藏或显示HTML块。例如:表单的不同阶段,取决于用户输入的内容 隐藏或显示/s非常简单,但在PHP中,我所能做的就是将HTML放入echo语句中。这使得HTML很难阅读,很难维护,整个文件看起来相当混乱 我敢肯定,一定有更好的方法隐藏或显示HTML块,而不必使用echo语句,但我找不到任何在线文档来解释如何隐藏或显示HTML块 感谢您提供有关此级别问题的任何提示、建议或指向优秀PHP资源的链接。尝试以下方法: <
/
s非常简单,但在PHP中,我所能做的就是将HTML放入echo
语句中。这使得HTML很难阅读,很难维护,整个文件看起来相当混乱
我敢肯定,一定有更好的方法隐藏或显示HTML块,而不必使用echo
语句,但我找不到任何在线文档来解释如何隐藏或显示HTML块
感谢您提供有关此级别问题的任何提示、建议或指向优秀PHP资源的链接。尝试以下方法:
<?php if ($var == true) { ?>
<table>...</table>
<?php } ?>
...
您可以使用PHP标记,如包裹在HTML上的标记,并根据条件,呈现HTML或不呈现HTML。您不需要将HTML放入
echo
语句中。将HTML视为隐式的echo
ed。因此,对于有条件地显示HTML块,您将寻找如下构造:
<?php
if (condition == true) {
?>
<div>
<p>Some content</p>
</div>
<?php
}
?>
一些内容
因此,存在于PHP标记之外的HTML字符串文本只是隐式地传递到页面,但是您可以围绕它包装逻辑来驱动它。在上面的语句中,
div
及其内容都在if
语句的范围内,因此,只有当PHP代码中的条件为true
时,才会传递HTML块(即使它在PHP标记之外),考虑到PHP是一种嵌入式语言,为了获得更好的可读性,使用“模板”的特定语言形式
您可以在
标记之外编写HTML,而不用echo(千万不要使用
,这可能会产生误导)
还建议使用if():
而不是if(){
,例如:
<body>
<?php if (true) : ?>
<p>It is true</p>
<?php endif; ?>
</body>
这是真的
参考资料:
Aha!太好了。非常感谢。@Django,为了更好的可读性,你应该使用其他语法,阅读我的答案。@Charliepiga:同意。我的语法有点“爆炸”为了显示每个构造。总是有不同的、通常更好的方法来组织代码。谢谢你的回答,但我认为你的代码是错误的。第三行应该是:
?我从来没有见过这个,非常整洁。我只是阅读了引用的链接。我发现替代语法不是必需的,但很有用l的可读性。我想我会这样做,谢谢!我认为这种语法if():
与if(){
是一个优先选择的问题。我个人觉得大括号符号更容易阅读,我的IDE为我很好地突出了它。@scunliffe,有大量的代码查找}
指的是非常困难的,而endforeach;
完全解释了这一点。再一次,这是个人偏好的问题;-)我还发现endif
,endforeach
,endwhile
等等。这让我想起了末端支架评论的可怕做法,比如:}//如果
结束,再加上如果我将我的foreach更改为一段时间,我不需要编辑结束语法来匹配。哇。自从我问了这个问题,我已经走了很长一段路(X-)