2010-10-14 18 views
11

Fui a través de este antes de la publicación:Cómo echo en PHP, etiquetas html

How can I echo HTML in PHP?

y todavía no podía hacer que funcione.

estoy tratando de hacer eco de esto:

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

Pero todavía no puede encontrar una manera de hacer las etiquetas "" y '' desaparece, ¿qué tengo que hacer?

+0

¡Muchas gracias a todos ustedes! Veré qué respuesta se ajusta mejor y la mejor opción es votar (aceptar una). ¡Pero nuevamente gracias por toda tu ayuda! – Trufa

Respuesta

17
<?php 

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

?> 

Simplemente colóquela entre comillas simples.

+0

¿Solo así? ¡Sal fuera! – Trufa

+0

OMG tan simple! Muchas gracias, trabajado como un encanto! – Trufa

+1

simplemente recuerde escapar de cualquier 'que pueda tener en su html con barra diagonal inversa como esta' –

7

Usando el primer mecanismo dado allí lo hará.

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

¿Usted intentó el heredoc solución basada en:

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

Es necesario para escapar de la " por lo que PHP no los reconoce como parte de su código PHP. Para ello, utilice el carácter de escape \.

Por lo tanto, el código se vería así:

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

Usted tiene una variedad de opciones. Una de ellas sería usar PHP como el motor de la plantilla es:

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

Otra sería usar comillas simples, que permiten salir de comillas dobles no cotizado, y también el apoyo de los saltos de línea en los literales:

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

Otro sería utilizar un heredoc, lo que deja intacta comillas dobles, es compatible con los saltos de línea, y también amplía las variables en el interior:

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

Si desea emitir grandes cantidades de HTML, debe considerar utilizar la sintaxis heredoc o nowdoc. Esto le permitirá escribir sus cadenas sin la necesidad de escapar.

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

También tenga en cuenta que debido a que PHP es un lenguaje incrustado puedes añadir entre el usuario y el contenido HTML que no es necesario hacer eco de cualquier etiqueta.

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

Además, si lo que desea es una variable de salida debe utilizar los tags de salida a corto <?=$var?> mano. Esto es equivalente a <?php echo $var; ?>.

3

Separar HTML de PHP es el mejor método. Es menos confuso y fácil de depurar.

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

sin necesidad de utilizar echo señor solo use la etiqueta.bienvenido :)

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

Puede reemplazar '<' con &lt; y '>' con &gt; para excepto:

echo "&lt;div&gt;"; 

de salida será visible <div>

para las cadenas más largas hacen una función, para ex

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

echo example($your_html); 

No se olvide t o poner barras invertidas href=\"#\" o hacerlo con comillas simples href='#' o cambiarlo también en una función con str_replace