Комментируйте 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> -->

страница терпит неудачу - кажется, что код PHP не закомментирован... Есть ли способ сделать это?

Ответ 1

Вместо использования комментариев 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... это означает, что комментарий заканчивается на первом */ встреченном.

Ответ 2

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

<?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 //* ?>

Ответ 3

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

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

Ответ 4

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

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

<?php
    if(false){
?>

Here goes your PHP + HTML code

<?php
    }
?>

Ответ 5

Вы можете выполнить это только с комментариями 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;

*/
?>

Ответ 6

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

Ответ 7

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

<?php 
/*get_sidebar();*/ 

?>