Usted tendrá que buscar en la función nl2br() junto con el trim().
El nl2br()
insertará <br />
antes de que el carácter de nueva línea (\n
) y el trim()
se eliminarán todos los caracteres que termina \n
o espacios en blanco.
$text = trim($_POST['textareaname']); // remove the last \n or whitespace character
$text = nl2br($text); // insert <br /> before \n
Eso debería hacer lo que quiera.
ACTUALIZACIÓN
La razón el siguiente código no funcionará es porque para que \n
ser reconocido, tiene que estar dentro de comillas dobles desde comillas dobles analizar los datos dentro de ellos, en tanto que las comillas simples toma literalmente, IE "\n"
$text = str_replace('\n', '<br />', $text);
Para solucionarlo, sería:
$text = str_replace("\n", '<br />', $text);
Pero aún es mejor usar la función integrada nl2br()
, PHP proporciona.
EDITAR
Lo sentimos, pensé que la primera pregunta era por lo que podría añadir los saltos de línea en, de hecho esto va a cambiar la respuesta un poco, como anyType de explode()
eliminará los saltos de línea, pero aquí es:
$text = trim($_POST['textareaname']);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim'); // remove any extra \r characters left behind
foreach ($textAr as $line) {
// processing here.
}
Si lo haces de esta manera, tendrá que añadir el <br />
en el extremo de la línea antes de que el procesamiento se realiza por su cuenta, ya que la función explode()
eliminará los \n
caracteres.
Agregó array_filter()
a trim()
de \r
caracteres adicionales que pueden haber estado persistiendo.
posible duplicado de [Cómo para eliminar saltos de línea (sin caracteres) de la cadena?] (http://stackoverflow.com/questions/10757671/how-to-remove-line-breaks-no-characters-from-the-string) – kenorb