HTML网页中在文本框textarea 输入内容后,里面的换行符n不被肉眼看见,而HTML显示是也无法将n转换为换行符。因为在HTML中换行的标签tag是<br />,所以在显示textarea 的内容应该进行一次转换。
而在textarea 中的内容,如果是从windows上的某个程序上复制过来的,内容里面很有可能存在回车符r,这个在HTML中也是不被显示的,而且在Linux操作系统中n就代表了换行,而在Windows操作系统中rn才是另起一行。
转换问文本框中的每行数据到PHP数组:
如果是从Windows中提交表单,并存储到数据库的:
$array = explode("rn",$textarea);
如果是从Linux中操作,或者Ajax方式存储到数据库,没有回车符r,使用这种方法,并且这种方法兼容上一种方法:
$array = explode("n",$textarea);
使用换行符n来分割数组,应该兼容所有操作。
HTML中只认为<br />是换行符,所以将换行符转换为 <br />:
$body = str_replace(array("rn","n"),"<br />",$textarea_content);
通过PHP str_replace进行替换。
2、JavaScript 转换文本框内容
HTML中只认为<br />是换行符,所以将换行符转换为 <br />:
var textarea_content = $("textarea").val();
getdisplayText(textarea_content);
// 替换换行符、空格
function getdisplayText(str) {
str = str.replace(/r/g," ");
str = str.replace(/t/g," ");
str = str.replace(/n/g,"<br />");
return str;
}
通过JS的replace函数进行替换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。