99 votes

Commentez HTML et PHP ensemble

J'ai ce code

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

et j'aimerais commenter les deux d'un coup ... mais quand j'essaie

     <!-- <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> -->
 

la page échoue ... il semblerait que le php ne soit pas commenté .... existe-t-il un moyen de le faire?

198voto

Pascal MARTIN Points 195780

Au lieu d'utiliser les commentaires HTML (qui n'ont aucun effet sur le code PHP -- qui seront toujours exécutées), vous devez utiliser PHP commentaires :

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


Avec cela, le code PHP à l'intérieur de l'HTML ne sera pas exécutée ; et rien (pas de HTML, pas de PHP, pas le résultat de sa non-exécution) sera affiché.


Juste une remarque : vous ne pouvez pas imbriquer C-style de commentaires... ce qui signifie que le commentaire se termine à la première */ rencontrées.

43voto

Nev Stokes Points 3162

Je conviens que la solution de Pascal est la solution, mais si vous dites qu'elle ajoute une tâche supplémentaire pour supprimer les commentaires, vous pouvez utiliser l'astuce de style de commentaire suivante pour vous simplifier la vie:

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

Pour que le bloc de code ne soit pas mis en commentaire, modifiez simplement le commentaire d'ouverture en:

 <?php //* ?>
 

4voto

Dammy Akinsiku Points 39

le <!-- --> est seulement pour les commentaires HTML et le PHP fonctionnera quand même ...

Par conséquent, la meilleure chose à faire est de commenter le PHP ...

Cordialement..!!

2voto

Flipper Points 1600

Vous ne pouvez accomplir cela qu'avec des commentaires 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> -->
 

De la manière dont PHP et HTML fonctionnent, il n’est pas en mesure de commenter d’un seul coup sauf si vous le faites:

 <?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;

*/
?>
 

0voto

Ehsan Khodarahmi Points 1493

L'analyseur PHP cherchera dans votre code entier pour <?php (ou <? si short_open_tag = On), donc les balises de commentaire HTML n'ont aucun effet sur le comportement de l'analyseur PHP et si vous ne souhaitez pas analyser votre code PHP, vous devez utiliser les directives de commentaires PHP ( /* */ ou // ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X