PHP - 如果html评论

时间:2012-07-16 08:20:13

标签: php dynamic if-statement

我想隐藏部分网页内容,具体取决于网址。

如果我输入的话:

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 "-->"
/>

如果网址中没有提到任何品牌,那么这是清除网页的正确方法吗?

5 个答案:

答案 0 :(得分:3)

您无需注释HTML,只需不输出您不想显示的HTML。

<?php if (/* something */) : ?>

    Output HTML for something.

<?php endif; ?>

除非条件为true ...

,否则不会输出“HTML for something”

答案 1 :(得分:1)

你需要注意的是,即使你用注释“隐藏”你的html,它也不是真正隐藏的,因为首先它仍然可以在源代码中看到,其次,你很容易陷入麻烦,例如: / p>

您在此<!-- text 1中有一条评论<!-- text 2 -->和另一条评论,然后想要关闭第一条评论-->

文本2的关闭实际上将关闭文本1等。所以它实际上不是一个干净的解决方案。如果你使用PHP,那么最好在html中打印这个代码,你想要显示它。

如果您有$_GET['brand'],请使用ifswitch来回复您要展示的内容。

编辑:似乎,你只想显示一些元素,如果$_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;

...


}

?>