HTML网页中在文本框textarea 输入内容后,里面的换行符\n不被肉眼看见,而HTML显示是也无法将\n转换为换行符。因为在HTML中换行的标签tag是br /,所以在显示textarea 的内容应该进行一次转换。 而在textarea 中的内容,如果是从windows上的某个程序上复制过
HTML网页中在文本框textarea 输入内容后,里面的换行符\n不被肉眼看见,而HTML显示是也无法将\n转换为换行符。因为在HTML中换行的标签tag是
,所以在显示textarea 的内容应该进行一次转换。
而在textarea 中的内容,如果是从windows上的某个程序上复制过来的,内容里面很有可能存在回车符\r,这个在HTML中也是不被显示的,而且在Linux操作系统中\n就代表了换行,而在Windows操作系统中\r\n才是另起一行。
转换问文本框中的每行数据到PHP数组:
如果是从Windows中提交表单,并存储到数据库的:
$array = explode("\r\n", $textarea);
如果是从Linux中操作,或者Ajax方式存储到数据库,没有回车符\r,使用这种方法,并且这种方法兼容上一种方法:
$array = explode("\n", $textarea);
使用换行符\n来分割数组,应该兼容所有操作。
转换问文本框中的内容到PHP变量,并在HTML中显示:
HTML中只认为
是换行符,所以将换行符转换为
:
$body = str_replace(array("\r\n", "\n"), "
", $textarea_content);
通过PHP str_replace进行替换。
HTML中只认为
是换行符,所以将换行符转换为
:
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, "
");
return str;
}
通过JS的replace函数进行替换。
(...)
Read the rest of 文本框换行显示 (1 words)
© lixiphp for LixiPHP, 2013. | Permalink | No comment |
Add to del.icio.us
Post tags: html, JavaScript, PHP, textarea, \r\n, 换行, 文本框
Feed enhanced by Better Feed from Ozh