textarea 回车换行及空格处理

[转]http://www.dyphp.com/?p=464

在textarea 中输入时以回车来换行排版,但是入库后再读出来,显示时往往会出显没有换行的问题
原因在于textarea中换行用的是 "n" 正常的HTML中换行是

解决方法:整体过程处理如下
一.表单处理
提交时使用JS把 textarea 中的 n 替换成<br> ,偷了下懒JS使用了jquery  ^^
<textarea name="tb" rows="2" cols="20" id="tb"></textarea>
<script>
$("#form").submit(function(){
var descrip = $("#tb").val();
descrip=descrip.replace(/n/g,'<br />');
$("#tb").val(descrip);
}
</script>

二. 服务端处理
使用的是PHP4的原生函数,简单的做了一下入库前的处理
htmlentities(trim($postValue),ENT_QUOTES,”utf-8″);
空格处理一下
$str = ereg_replace(” “, “&nbsp;”,$str);

三.读取显示
使用PHP的正则函数把读取的<br>还原,然后输出
<?php echo eregi_replace(‘&lt;br&gt;|&lt;br /&gt;’,'<br>’,$dataStr); ?>

OK,完成! 收工