2010-10-14 12 views
11

ich durch das ging vor der Veröffentlichung:Wie in PHP echo, HTML-Tags

How can I echo HTML in PHP?

Und konnte immer noch nicht damit es funktioniert.

Ich versuche, dies zu echo:

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

Aber ich kann immer noch keinen Weg, um die Tags „“ und ‚‘ verschwinden, was muss ich tun finden?

+0

Vielen Dank an euch alle! Ich werde sehen, welche Antwort am besten passt und am besten gewählt wird (um eine zu akzeptieren). Aber nochmal danke für all deine Hilfe! – Trufa

Antwort

17
<?php 

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

?> 

Einfach in Anführungszeichen setzen.

+0

Einfach so ?? Willst du es raushaben? – Trufa

+0

OMG so einfach !! Vielen Dank, Arbeitete wie ein Zauber! – Trufa

+1

Denken Sie daran, alle 'Sie haben vielleicht in Ihrem HTML mit Backslash wie folgt' –

7

Mit dem ersten gegebenen Mechanismus wird es tun.

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

Haben Sie versucht, die heredoc basierte Lösung:

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

Sie müssen die " so entkommen, dass PHP sie als Teil Ihrer PHP-Code nicht erkennt. Verwenden Sie dazu das \ Escape-Zeichen.

So würde der Code wie folgt aussehen:

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

Sie haben eine Vielzahl von Optionen. Man wäre PHP als Template-Engine zu verwenden, es ist:

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

Eine andere wäre, einfache Anführungszeichen zu verwenden, mit denen Sie doppelte Anführungszeichen nicht notierte verlassen und auch Zeilenumbrüche in Literale unterstützen:

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

Another wäre eine HEREDOC zu verwenden, die doppelte Anführungszeichen unberührt lässt unterstützt Zeilenumbrüche und erweitert auch alle Variablen im Inneren:

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

Wenn Sie die Ausgabe großer Mengen wollen von HTML sollten Sie mit heredoc oder nowdoc Syntax betrachten. Dadurch können Sie Ihre Strings schreiben, ohne dass Sie entkommen müssen.

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

Beachten Sie auch, dass da PHP eine eingebettete Sprache ist Sie es zwischen Ihnen HTML-Inhalte hinzufügen können, und Sie keine Tags echo müssen.

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

Auch wenn Sie nur für die Ausgabe einer Variable wollen, sollten Sie die Kurz Hand Ausgangs-Tags <?=$var?> verwenden. Dies entspricht <?php echo $var; ?>.

3

Die Trennung von HTML von PHP ist die beste Methode. Es ist weniger verwirrend und einfach zu debuggen.

1

keine Notwendigkeit, Echo zu verwenden, verwenden Sie nur das Tag.Willkommen :)

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

Sie ersetzen '<' mit &lt; und '>' mit &gt; für die Ex:

echo "&lt;div&gt;"; 

Ausgang <div>

sichtbar sein für längere Strings eine Funktion zu machen, für ex

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

echo example($your_html); 

Nicht vergessen t Setzen Sie Backslashes href=\"#\" oder tun Sie es mit einfachen Anführungszeichen href='#' oder ändern Sie es in einer Funktion auch mit str_replace