2010-10-14 52 views
11

我通過這一去,然後再發布:如何在PHP回聲,html標籤

How can I echo HTML in PHP?

而且仍然不能使它發揮作用。

我想呼應這樣的:

<div> 
<h3><a href="#">First</a></h3> 
<div>Lorem ipsum dolor sit amet.</div> 
</div> 
<div> 

但我仍然無法找到一種方法,使標籤「」和「」消失了,我有什麼做的?

+0

非常感謝你們所有人!我會看到哪個答案最合適,最好是投票(接受一個)。但是再次感謝您的幫助! – Trufa 2010-10-14 08:43:01

回答

17
<?php 

echo '<div> 
<h3><a href="#">First</a></h3> 
<div>Lorem ipsum dolor sit amet.</div> 
</div> 
<div>'; 

?> 

把它放在單引號中。

+0

就這樣?把它拿出來! – Trufa 2010-10-14 08:29:02

+0

OMG太簡單了!非常感謝,像魅力一樣工作! – Trufa 2010-10-14 08:31:21

+1

只是記得要逃避任何'你可能在你的html中有這樣的反斜槓\' – 2010-10-14 09:27:24

7

使用這裏給出的第一種機制會做到這一點。

<?php 
    ... 
?> 
<div> 
<h3><a href="#">First</a></h3> 
<div>Lorem ipsum dolor sit amet.</div> 
</div> 
<div> 
<?php 
    ... 
?> 
8

你嘗試定界符基礎的解決方案:

echo <<<HTML 
<div> 
<h3><a href="#">First</a></h3> 
<div>Lorem ipsum dolor sit amet.</div> 
</div> 
<div> 
HTML; 
4

你需要躲避"使PHP不承認他們是你的PHP代碼的一部分。您可以通過使用\轉義字符來完成此操作。

所以,你的代碼應該是這樣的:

echo 
    "<div> 
     <h3><a href=\"#\">First</a></h3> 
     <div>Lorem ipsum dolor sit amet.</div> 
    </div> 
    <div>" 
2

你有多種選擇。一個是使用PHP作爲模板引擎,它是:

<?php 
    // Draw the page 
?> 
<div> 
    <h3><a href="#">First</a></h3> 
    <div>Lorem ipsum dolor sit amet.</div> 
</div> 
<?php 
    // Done drawing. 
?> 

另一個辦法是使用單引號,這讓你離開雙引號加引號,並且還支持換行符文字:

<?php 
    echo '<div> 
    <h3><a href="#">First</a></h3> 
    <div>Lorem ipsum dolor sit amet.</div> 
</div>'; 
?> 

另一個是使用一個HEREDOC,這讓雙引號不變,支持換行,並且還擴大了內部的任何變量:如果你想

<?php 
    echo <<<EOS 
<div> 
    <h3><a href="#">First</a></h3> 
    <div>Lorem ipsum dolor sit amet.</div> 
</div> 
EOS; 
?> 
4

輸出大量的HTML應該考慮使用heredocnowdoc語法。這將允許你編寫你的字符串而不需要轉義。

echo <<<EOD 
You can put "s and 's here if you like. 
EOD; 

同時注意到,由於PHP是一種嵌入式語言您可以在之間添加它的HTML內容,你不需要任何呼應標籤。

<div> 
    <p>No PHP here!</p> 
    <?php 
    $name = "Marcel"; 
    echo "<p>Hello $name!</p>"; 
    ?> 
</div> 

此外,如果你只是想輸出變量,你應該使用速記輸出標籤<?=$var?>。這相當於<?php echo $var; ?>

3

從PHP中分離HTML是最好的方法。它不那麼容易混淆,也很容易調試。

<?php 
    while($var) 
    { 
?> 

    <div> 
     <h3><a href="User<?php echo $i;?>"><?php echo $i;?></a></h3> 
     <div>Lorem ipsum dolor sit amet.</div> 
    </div> 

<?php 
    $i++; 
    } 
?> 
1

不需要使用echo sir只是使用標籤。歡迎:)

<plaintext> 
    <div> 
     <h3><a href="#">First</a></h3> 
     <div>Lorem ipsum dolor sit amet.</div> 
    </div> 
0

您可以用&lt;&gt;前替換 '<' 和 '>':

echo "&lt;div&gt;"; 

輸出將是可見的<div>

更長的字符串做一個功能,例如

function example($input) { 
    $output = str_replace('>', '&gt;', str_replace('<', '&lt;', $html)); 
    return $output; 
} 

echo example($your_html); 

別忘了t o把反斜槓href=\"#\"或做單引號href='#'或改變它的功能太str_replace