我想隐藏部分网页内容,具体取决于网址。
如果我输入的话:
example.co.uk/index.php?brand=apple
然后苹果内容会显示 - 但是如果没有显示任何品牌,页面上会有一些我想隐藏的默认div。我正在思考:
<?php if brand==""
echo "<!----- comment out all the default HTML"
/>
default html here
<?php if brand==""
echo "-->"
/>
如果网址中没有提到任何品牌,那么这是清除网页的正确方法吗?
答案 0 :(得分:3)
您无需注释HTML,只需不输出您不想显示的HTML。
<?php if (/* something */) : ?>
Output HTML for something.
<?php endif; ?>
除非条件为true
...
答案 1 :(得分:1)
你需要注意的是,即使你用注释“隐藏”你的html,它也不是真正隐藏的,因为首先它仍然可以在源代码中看到,其次,你很容易陷入麻烦,例如: / p>
您在此<!-- text 1
中有一条评论<!-- text 2 -->
和另一条评论,然后想要关闭第一条评论-->
。
文本2的关闭实际上将关闭文本1等。所以它实际上不是一个干净的解决方案。如果你使用PHP,那么最好在html中打印这个代码,你想要显示它。
如果您有$_GET['brand']
,请使用if
或switch
来回复您要展示的内容。
$_GET['brand']
不是emtpy,对吧?在那种情况下:
if(isset($_GET['brand'])) {
// echo your html here...
}
答案 2 :(得分:0)
你甚至不需要评论;只需PHP if if就可以了:
<?php if ($brand) { ?>
...html - note this section is bounded by PHP, but is not PHP code...
<?php } ?>
或者,将您的“默认html”存储在字符串中,并回显它:
<?php
if ($brand) {
echo $strHTML;
}
?>
答案 3 :(得分:0)
不,HTML 4和XHTML中的评论语法意思是“评论开始”和“评论结束”,因此您的语法在第1行上有一个已关闭的评论。
您想要--
。
如果HTML包含注释,则会中断。
<!--
还需要一些()
。
如果匹配匹配,最好不要在输出中包含HTML。
if
答案 4 :(得分:0)
不要隐藏你不需要的东西,只显示你需要的东西:
<?php
switch ( $type ) {
case "apple":
// apple content
break;
case "peaches":
// peaches content
break;
...
}
?>