2008-11-14 15 views

Respuesta

34

Eche un vistazo a la función nl2br(). Debería hacer exactamente lo que quieres.

9

la función existe nl2br() para hacer exactamente esto:

Sin embargo, esta función añade etiquetas br pero en realidad no eliminar las nuevas líneas - esto normalmente no es un problema, pero si quieres desnudar completamente a ellos y también retomar los retornos del carro, debe usar un str_replace o preg_replace

Creo que str_replace sería un poco más rápido pero no he comparado;

$val = str_replace(array("\n","\r","\r\n"), '<br />', $val); 

o

$val = preg_replace("#\n|\r|\r\n#", '<br />', $val); 
5

Si usted va a utilizar str_replace o preg_replace, probablemente debería colocar el "\r\n" al comienzo de la matriz, de lo contrario una secuencia \r\n se traducirá en dos <br/> etiquetas (dado que el \r coincidirá, y luego se hará coincidir el \n).

por ejemplo:

$val = str_replace(array("\r\n", "\n","\r"), '<br />', $val); 

o

$val = preg_replace("#\r\n|\n|\r#", '<br />', $val); 
0

Para aquellos que quieran una respuesta que no se basa en nl2br():

$newList = ereg_replace("\n",'|', $_POST['theTextareaContents']); 

o (en este caso):

$newList = ereg_replace("\n",'<br/>', $_POST['theTextareaContents']); 

PHP lateral: de cuerda Área de texto a PHP cadena

$newList = ereg_replace("\n",'|', $_POST['theTextareaContents']); 

PHP lateral: PHP cadena de nuevo a cadena TextArea:

$list = str_replace('|', '&#13;&#10;', $r['db_field_name']); 
Cuestiones relacionadas