Kommentieren Sie HTML und PHP zusammen aus

91

Ich habe diesen 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>

und ich würde gerne beide auf einmal kommentieren ... aber wenn ich es versuche

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

Die Seite schlägt fehl - anscheinend wird der PHP-Code nicht auskommentiert ... Gibt es eine Möglichkeit, dies zu tun?

Matt Elhotiby
quelle

Antworten:

178

Anstatt HTML-Kommentare zu verwenden (die keine Auswirkungen auf den PHP-Code haben - der weiterhin ausgeführt wird) , sollten Sie PHP-Kommentare verwenden:

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


Damit wird der PHP-Code im HTML nicht ausgeführt; und nichts (nicht das HTML, nicht das PHP, nicht das Ergebnis seiner Nichtausführung) wird angezeigt.


Nur eine Anmerkung: Sie können keine Kommentare im C-Stil verschachteln. Dies bedeutet, dass der Kommentar beim ersten */Auftreten endet .

Pascal MARTIN
quelle
Dies fügt ein bisschen mehr hinzu (Sie benötigen die PHP-Tags sowie das PHP-Kommentar-Markup), aber ich stimme zu, dass dies der beste Weg ist, dies zu tun.
QJake
Aber wenn er dann Kommentare abgibt, muss er auch die <? Php und?> Taags entfernen, was etwas mehr Arbeit ist.
Flipper
4
@flipper: also? Es sind ein paar zusätzliche Zeichen, anstatt jeden Block PHP-Code von Hand herausreißen zu müssen.
Marc B
Interessanterweise scheint NetBeans 8.0.2 dies nicht zu verstehen (und formatiert meinen Code daher falsch, obwohl dies eine gültige Möglichkeit ist, HTML zu kommentieren).
Ryan
Was ist die Abkürzung, um es im erhabenen Texteditor zu tun? Ich kenne Strg + C, aber das macht keine PHP-Kommentare.
Yadavr
42

Ich bin damit einverstanden, dass Pascals Lösung der richtige Weg ist, aber für diejenigen, die sagen, dass sie eine zusätzliche Aufgabe zum Entfernen der Kommentare hinzufügt, können Sie den folgenden Trick im Kommentarstil verwenden, um Ihr Leben zu vereinfachen:

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

Um zu verhindern, dass der Codeblock auskommentiert wird, ändern Sie einfach den Eröffnungskommentar in:

<?php //* ?>
Nev Stokes
quelle
Führt diese Lösung nicht dazu, dass zwei leere Zeilen mit jeweils zwei leeren Zellen noch im HTML-Code angezeigt werden?
Sparr
1
Nein, das tut es nicht. Probieren Sie es aus und sehen Sie! ;)
Nev Stokes
6

Ich fand die folgende Lösung ziemlich effektiv, wenn Sie viel verschachtelten HTML + PHP-Code kommentieren müssen.

Wickeln Sie den gesamten Inhalt in Folgendes ein:

<?php
    if(false){
?>

Here goes your PHP + HTML code

<?php
    }
?>
Nick
quelle
Dies ist die einzige Lösung, die tatsächlich funktioniert . Ich verstehe nicht, warum dies nicht die beste Antwort ist :) Vielen Dank, Alter!
bviktor
Für die 3 Personen, die diese Frage tatsächlich so meinen, wie sie gestellt wird: DIESES ^ ist Ihre Antwort;) - Hinweis: Ich empfehle das if (false): - endif; Syntax, da es für den nächsten
Entwickler
4

Das <!-- -->ist nur für HTML-Kommentare und das PHP läuft trotzdem noch ...

Daher ist das Beste, was ich tun würde, auch das PHP zu kommentieren ...

Dammy Akinsiku
quelle
2

Sie können dies nur mit PHP-Kommentaren erreichen.

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

So wie PHP und HTML funktionieren, kann es nicht auf einen Schlag kommentieren, es sei denn, Sie tun Folgendes:

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

*/
?>
Flipper
quelle
0

Der PHP-Parser durchsucht Ihren gesamten Code nach <?php(oder <?wenn short_open_tag = On), sodass HTML-Kommentar-Tags keinen Einfluss auf das Verhalten des PHP-Parsers haben. Wenn Sie Ihren PHP-Code nicht analysieren möchten, müssen Sie PHP-Kommentaranweisungen verwenden ( /* */oder //) .

Ehsan Khodarahmi
quelle
0

Sie können dies auch als Kommentar verwenden:

<?php
    /* get_sidebar(); */

?>
Kennzeichen
quelle