Foros del Web » Programando para Internet » PHP »

Estandarizando: sustituir <br /><br /> por </p><p>

Estas en el tema de Estandarizando: sustituir <br /><br /> por </p><p> en el foro de PHP en Foros del Web. Hola, hace unos dias he estado trabajando completamente "estandarizado", y quisiera seguir por este camino... pero se me presento un inconveniente haciendo un sistema de ...
  #1 (permalink)  
Antiguo 06/08/2004, 02:06
 
Fecha de Ingreso: septiembre-2003
Ubicación: Pirexia
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 1
Estandarizando: sustituir <br /><br /> por </p><p>

Hola, hace unos dias he estado trabajando completamente "estandarizado", y quisiera seguir por este camino... pero se me presento un inconveniente haciendo un sistema de comentarios para los usuarios.
La funcion nl2br(); traduce los saltos de línea en <br />'s lo cual es muy útil, pero trabajando con estandares, poner dos veces <br /> para iniciar otro parrafo es un error, es decir, se debe cerrar el parrafo (</p>) y comenzar uno nuevo (<p>)...

A fin de cuentas, lo que quiero lograr es que cuando en el texto se encuentre <br /><br /> los sustituya por </p><p>. al principio pense que con un simple str_replace se podía hacer, pero no salío así =S.

Esto fue lo que hice:

Código PHP:
<?
$comentario 
nl2br($comentario);
$comentario '<p>'.$comentario.'</p>';
$comentario str_replace("<br /><br />","</p><p>",$comentario);
?>
pero no funciona para nada, agrega unicamente el primero y el último, que son declarados en la segunda instrucción.
Que puedo hacer ??
__________________
In a world without walls, who needs Windows?
  #2 (permalink)  
Antiguo 06/08/2004, 04:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Si lees el manual www.php.net/nl2br , esta funcion no sustituye los saltos de lines, solo inserta <br /> delante de cada salto de linea. Asi que

\n\n

pasa a ser

<br />\n<br />\n

siendo \n el salto de linea (que varia segun sistema operativo, pudiendo ser \r\n o algo parecido).

Por eso tu str_replace() falla, porque no existe la cadena <br /><br />.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 12:15.