viernes, 2 de agosto de 2013

Conservar saltos de línea en Textarea con Jquery y PHP


Muchas veces surge el problema de guardar en una base de datos o simplemente imprimir en pantalla los datos de un textarea, el problema es que el valor devuelto lo hace sin respetar los saltos de línea, algo que hace emborronoso al texto y entremezcla las partes que deben estar separadas por saltos de línea. Para evitar este problema vamos a ver como hacerlo tanto mediante Jquery, como con PHP, la acción es bastante simple, únicamente hay que reemplazar '\n' por '<br>'

Con Jquery ...

textarea = $("textarea").val();
textarea_line = textarea.replace(new RegExp("\n","g"), "<br>");


 Con PHP ...

$textarea = $_POST["textarea"];
$textarea_line = str_replace("\n", "<br>", $textarea);

 Demo con Jquery ...




Código de Ejemplo Jquery ...

<!DOCTYPE HTML>
<html>
<!--Proporcionado por http://jquery-manual.blogspot.com-->
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function()
{
$("#btn_show").click(function(){
textarea = $("textarea").val();
textarea_line = textarea.replace(new RegExp("\n","g"), "<br>");
$("#show_textarea").html(textarea_line);
});
});
</script>
</head>
<body>
<textarea cols="60" rows="10"></textarea>
<button type="button" id="btn_show">Show</button>
<div id="show_textarea"></div>
</body>
</html>