Закомментируйте HTML и PHP вместе


У меня есть этот код

    <tr>
      <td><?php echo $entry_keyword; ?></td>
      <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
    </tr>
    <tr>
      <td><?php echo $entry_sort_order; ?></td>
      <td><input name="sort_order" value="<?php echo $sort_order; ?>" size="1" /></td>
    </tr>

И я бы с удовольствием прокомментировал оба в одном кадре... но когда я пытаюсь

    <!-- <tr>
      <td><?php echo $entry_keyword; ?></td>
      <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
    </tr>
    <tr>
      <td><?php echo $entry_sort_order; ?></td>
      <td><input name="sort_order" value="<?php echo $sort_order; ?>" size="1" /></td>
    </tr> -->

Страница fails...it похоже, php не комментируется out....is есть способ сделать это

 74
Author: Matt Elhotiby, 2011-04-25

7 answers

Вместо использования комментариев HTML (которые не влияют на PHP-код - который все равно будет выполняться), вы должны использовать комментарии PHP:

<?php /*
<tr>
      <td><?php echo $entry_keyword; ?></td>
      <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
    </tr>
    <tr>
      <td><?php echo $entry_sort_order; ?></td>
      <td><input name="sort_order" value="<?php echo $sort_order; ?>" size="1" /></td>
    </tr>
*/ ?>


При этом PHP-код внутри HTML не будет выполнен; и ничего (ни HTML, ни PHP, ни результат его неисполнения) отображаться не будет.


Только одно замечание: вы не можете вложить комментарии в стиле C... это означает, что комментарий закончится при первом обнаружении */.

 146
Author: Pascal MARTIN, 2011-04-25 18:00:17

Я согласен, что решение Паскаля - это правильный путь, но для тех, кто говорит, что оно добавляет дополнительную задачу для удаления комментариев, вы можете использовать следующий трюк в стиле комментариев, чтобы упростить свою жизнь:

<?php /* ?>
<tr>
      <td><?php echo $entry_keyword; ?></td>
      <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
    </tr>
    <tr>
      <td><?php echo $entry_sort_order; ?></td>
      <td><input name="sort_order" value="<?php echo $sort_order; ?>" size="1" /></td>
    </tr>
<?php // */ ?>

Чтобы остановить закомментированный блок кода, просто измените начальный комментарий на:

<?php //* ?>
 37
Author: Nev Stokes, 2011-04-25 19:35:41

<!-- --> предназначен только для HTML-комментариев, и PHP все равно будет работать в любом случае...

Поэтому лучшее, что я бы сделал, это также прокомментировать PHP...

С уважением..!!

 4
Author: Dammy Akinsiku, 2011-04-25 18:01:12

Вы можете сделать это только с помощью комментариев PHP.

 <!-- <tr>
      <td><?php //echo $entry_keyword; ?></td>
      <td><input type="text" name="keyword" value="<?php //echo $keyword; ?>" /></td>
    </tr>
    <tr>
      <td><?php //echo $entry_sort_order; ?></td>
      <td><input name="sort_order" value="<?php //echo $sort_order; ?>" size="1" /></td>
    </tr> -->

То, как работают PHP и HTML, не позволяет комментировать одним махом, если вы не сделаете:

<?php

/*

echo <<<ENDHTML
 <tr>
          <td>{$entry_keyword}</td>
          <td><input type="text" name="keyword" value="{echo $keyword}" /></td>
        </tr>
        <tr>
          <td>{$entry_sort_order}</td>
          <td><input name="sort_order" value="{$sort_order}" size="1" /></td>
        </tr>
ENDHTML;

*/
?>
 2
Author: Flipper, 2011-04-25 18:01:14

Я нашел это решение довольно эффективным, если вам нужно прокомментировать много вложенного кода HTML +PHP.

Оберните все содержимое в это:

<?php
   if(false){
?>

here goes your PHP + html code

<?php
   }
?>
 2
Author: nick, 2018-04-02 21:58:26

PHP-анализатор будет искать весь ваш код для <?php (или <?, если short_open_tag = Вкл.), поэтому теги HTML-комментариев не влияют на поведение PHP-анализатора, и если вы не хотите анализировать свой PHP-код, вам нужно использовать директивы PHP-комментариев (/* */ или //).

 0
Author: Ehsan Khodarahmi, 2011-04-25 19:04:42

Вы также можете использовать это в качестве комментария:

<?php 
/*get_sidebar();*/ 

?> 
 0
Author: Mark, 2017-07-19 19:29:30