HTML ve PHP'yi birlikte yorumlayın


93

Bu koda sahibim

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

ve ikisini de tek seferde yorumlamak isterim ... ama denediğimde

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

sayfa başarısız - görünüşe göre PHP kodu yorumlanmıyor ... Bunu yapmanın bir yolu var mı?

Yanıtlar:


183

HTML yorumlarını kullanmak yerine ( PHP kodu üzerinde hiçbir etkisi olmayan - yine de yürütülecektir) , PHP yorumlarını kullanmalısınız:

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


Bununla birlikte, HTML içindeki PHP kodu çalıştırılmayacaktır; ve hiçbir şey (HTML değil, PHP değil, yürütülmemesinin sonucu değil) görüntülenmeyecektir.


Sadece bir not: C-stili yorumları iç içe yerleştiremezsiniz ... bu, yorumun ilk */karşılaşıldığında biteceği anlamına gelir .


Bu biraz daha fazla şey ekler (PHP yorum biçimlendirmesinin yanı sıra PHP etiketlerine de ihtiyacınız vardır), ancak bunu yapmanın en iyi yolu bu, kabul ediyorum.
— qJake

Ama sonra yorum yaptığında <? Php ve?> Etiketlerini de kaldırması gerekiyor ki bu biraz daha fazla iş.
— Flipper

4
@flipper: yani? Fazladan birkaç karaktere kıyasla her PHP kodu bloğunu elle kopyalamak zorunda kalıyor.
— Marc B

İlginç bir şekilde, NetBeans 8.0.2'nin bunu anlamadığı görülüyor (ve bu nedenle, HTML'yi yorumlamak için geçerli bir yol olmasına rağmen kodumu yanlış biçimlendiriyor).
— Ryan

yüce metin düzenleyicide yapmak için kısayol nedir? Ctrl + c'yi biliyorum ama bu PHP yorumları yapmaz.
— yadavr

42

Pascal'ın çözümünün gidilecek yol olduğuna katılıyorum, ancak yorumları kaldırmak için fazladan bir görev eklediğini söyleyenler için, hayatınızı basitleştirmek için aşağıdaki yorum stili hilesini kullanabilirsiniz:

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

Kod bloğunun yorumlanmasını durdurmak için, açılış açıklamasını şu şekilde değiştirmeniz yeterlidir:

<?php //* ?>

Bu çözüm, her biri iki boş hücreye sahip iki boş satırın HTML'de görünmeye devam etmesine neden olmaz mı?
— Sparr

1
Hayır, öyle değil. Deneyin ve görün! ;)
— Nev Stokes

6

Çok sayıda iç içe geçmiş HTML + PHP kodunu yorumlamanız gerekiyorsa aşağıdaki çözümü oldukça etkili buldum.

Tüm içeriği buna sarın:

<?php
    if(false){
?>

Here goes your PHP + HTML code

<?php
    }
?>

Aslında işe yarayan tek çözüm bu , neden bunun en iyi cevap olmadığını anlamıyorum :) Çok teşekkürler dostum!
— bviktor

Bu soruyu sorulduğu şekilde gerçekten söyleyen 3 kişi için: BU ^ cevabınızdır;) - Not: if (false): - endif; sözdizimi, çünkü bir sonraki geliştirici için işaretlemeyi etkilemesinin amaçlandığı daha açık olabilir
— MJHd

4

<!-- -->Sadece HTML yorumlama ve PHP hala zaten çalışacaktır içindir ...

Bu nedenle yapacağım en iyi şey PHP'yi de yorumlamaktır ...


2

Bunu yalnızca PHP yorumlarıyla başarabilirsiniz.

 <!-- <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 ve HTML'nin çalışma şekli, siz şunları yapmadıkça tek seferde yorum yapamaz:

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

*/
?>

0

PHP ayrıştırıcı, kodunuzun tamamını <?php(veya <?short_open_tag = On ise) arayacaktır , bu nedenle HTML yorum etiketlerinin PHP ayrıştırıcı davranışı üzerinde bir etkisi yoktur ve PHP kodunuzu ayrıştırmak istemiyorsanız, PHP yorum yönergelerini ( /* */veya //) kullanmanız gerekir. .


0

Bunu bir yorum olarak da kullanabilirsiniz:

<?php
    /* get_sidebar(); */

?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.