2010-10-14 14 views
11

Przeszedłem przez to przed wysłaniem:Jak echo w PHP, znaczniki HTML

How can I echo HTML in PHP?

I wciąż nie mógł tego dokonać.

Próbuję echo to:

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

Ale nadal nie mogę znaleźć sposób, aby znaczniki "" i '' zniknie, co mam zrobić?

+0

Wielkie dzięki wszystkim! Zobaczę, która odpowiedź pasuje najlepiej i najlepiej jest głosować (aby ją zaakceptować). Ale jeszcze raz dziękuję za twoją pomoc! – Trufa

Odpowiedz

17
<?php 

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

?> 

Wystarczy umieścić go w pojedynczych cudzysłowach.

+0

Po prostu tak? wywal to! – Trufa

+0

OMG tak proste !! Dziękuję bardzo, pracowałem jak czar! – Trufa

+1

po prostu pamiętaj, aby uciec od wszelkich "możesz mieć w swoim html z odwrotnym ukośnikiem, tak jak to \ ' –

7

Użycie pierwszego podanego mechanizmu spowoduje to.

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

Próbowałaś heredoc rozwiązanie w oparciu o:

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

Musisz uciec " tak, że PHP nie rozpoznaje je jako część kodu PHP. Robisz to za pomocą znaku ewakuacyjnego \.

Tak Twój kod będzie wyglądać następująco:

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

Masz wiele możliwości. Można by użyć PHP jako silnik szablonu to jest:

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

Innym byłoby użycie apostrofów, które pozwalają opuścić cudzysłów jest cytowany, a także wspierać nowe linie w literałów:

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

Another byłoby użyć heredoc, który pozostawia cudzysłowów nietknięty, wspiera nowe linie, a także rozszerza żadnych zmiennych wewnątrz:

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

Jeśli chcesz wstawić duże ilości HTML należy rozważyć użycie składni heredoc lub nowdoc. To pozwoli ci napisać struny bez potrzeby ucieczki.

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

Należy również zauważyć, że ponieważ PHP jest wbudowany język można dodać go między tobą zawartości HTML i nie trzeba powtórzyć żadnych tagów.

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

Także jeśli chcesz po prostu wyjście zmiennej należy użyć znaczników wyjściowych krótki ręki <?=$var?>. Jest to odpowiednik <?php echo $var; ?>.

3

Separacja HTML z PHP jest najlepszą metodą. Jest mniej kłopotliwy i łatwy do debugowania.

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

nie trzeba używać echa sir wystarczy użyć znacznika.Witaj :)

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

można zastąpić '<' z &lt; i '>' z &gt; dla ex:

echo "&lt;div&gt;"; 

wyjście będzie widoczny <div>

na dłuższe ciągi utworzyć funkcję, za ex

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

echo example($your_html); 

Nie zapomnij o o odłóż ukośniki href=\"#\" lub zrób pojedyncze cytaty href='#' lub zmień je w funkcji za pomocą str_replace