php文本框内容换行显示php

/ / 2016-09-24   阅读:2488
HTML网页中在文本框textarea 输入内容后,里面的换行符\n不被肉眼看见,而HTML显示是也无法将\n转换为换行符。因为在HTML中换行的标签tag是<br />,所以在显示textarea 的内容应该进行一次转换。 而在texta...
HTML网页中在文本框textarea 输入内容后,里面的换行符\n不被肉眼看见,而HTML显示是也无法将\n转换为换行符。因为在HTML中换行的标签tag是<br />,所以在显示textarea 的内容应该进行一次转换。

而在textarea 中的内容,如果是从windows上的某个程序上复制过来的,内容里面很有可能存在回车符\r,这个在HTML中也是不被显示的,而且在Linux操作系统中\n就代表了换行,而在Windows操作系统中\r\n才是另起一行。

1、PHP 转换文本框内容

转换问文本框中的每行数据到PHP数组:

如果是从Windows中提交表单,并存储到数据库的:
$array = explode("\r\n", $textarea);

如果是从Linux中操作,或者Ajax方式存储到数据库,没有回车符\r,使用这种方法,并且这种方法兼容上一种方法:
$array = explode("\n", $textarea);
使用换行符\n来分割数组,应该兼容所有操作。

转换问文本框中的内容到PHP变量,并在HTML中显示:

HTML中只认为<br />是换行符,所以将换行符转换为 <br />:
$body = str_replace(array("\r\n", "\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, "&nbsp;"); 
    str = str.replace(/\t/g, "&nbsp;&nbsp;"); 
    str = str.replace(/\n/g, "<br />"); 
    return str; 
}
通过JS的replace函数进行替换。

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈