Foros del Web » Programando para Internet » PHP »

Formatear texto en base de datos con etiquetas de parrafo <p>

Estas en el tema de Formatear texto en base de datos con etiquetas de parrafo <p> en el foro de PHP en Foros del Web. Buenas. Mi intención es la de conseguir un texto formateado en HTML separando los párrafos por etiquetas <p></p> y sin utilizar <br /> (Vamos, tal ...
  #1 (permalink)  
Antiguo 01/11/2009, 10:29
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Formatear texto en base de datos con etiquetas de parrafo <p>

Buenas.

Mi intención es la de conseguir un texto formateado en HTML separando los párrafos por etiquetas <p></p> y sin utilizar <br /> (Vamos, tal y como hacen los blogs, por ejemplo.)
El texto es extraído de una base de datos al que luego aplico un nl2br() quedándome los interlineados definidos mediante etiquetas <br />

El problema está en que yo inserto el texto en la base de datos desde un formulario,y si tengo algo del tipo a:
Código PHP:
Titulo1
Hola que tal

Titulo 2
Hola que tal 

Se me crearía el siguiente código HTML:
Código HTML:
<p>Titulo1</p>
<p></p> 
<p>Hola que tal </p>
<p></p>
<p></p>
<p>Titulo2</p>
<p></p>
<p>Hola que tal</p> 
Usando la función de:
Código PHP:
function crear_parrafos($texto) {
   
    
$texto=explode('<br />'$texto);
        
    
$texto=implode("</p><p>"$texto);
        
        
$texto'<p>'.$texto.'</p>';

    return 
$texto;


Como veis, se me crean etiquetas <p></p> innecesarias y vacías.

¿Existe alguna función de uso común para lograr formatear el texto como es debido?
Puede que tal vez esté haciendo un poco el tonto haciéndolo por mi cuenta.

Saludos.
  #2 (permalink)  
Antiguo 01/11/2009, 10:51
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Formatear texto en base de datos con etiquetas de parrafo <p>

Usa expresiones regulares. ¡Suerte!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:19.