文本文件,每行以\ r \ n结尾,在unix中,每行以\ n结尾。 textarea的帖子值是否遵循此规则?
答案 0 :(得分:2)
简化:是的
通常您只想将\n
替换为<br />
,这样就可以了。
答案 1 :(得分:2)
在使用Opera,Firefox和IE7的Windows上,它以\ r \ n结束文本行。我认为在Unix中只会是\ n,但现在没有系统可以测试。
答案 2 :(得分:1)
我从php.net commetns使用的一个修改过的函数将\ n和\ r \ n替换成一个{或者你传入的任何内容}
function replaceNewLines($string,$replacement='<br />')
{
return preg_replace("/(\r\n)+|(\n|\r)+/", $replacement, $string);
}
$string = "this is \n\n\n a String with many \n\n\r\r returns!";
$string = replaceNewLines($string,'');
答案 3 :(得分:0)
当您在textarea中输入时按Enter键,它只会创建一个\ n。
如果您想在页面上显示数据(使用换行符格式化),则需要在textarea的文本上使用str_replace来替换\ n。
答案 4 :(得分:0)
如果处理是由php完成的,那么有一个名为 nl2br 的php函数可以解决问题。它需要两个参数,第一个是你的字符串,第二个是对于xhtml的bool true和对于html的false。
http://www.php.net/manual/en/function.nl2br.php
来自php.net的例子:
<?php
echo nl2br("foo isn't\n bar");
echo nl2br("Welcome\r\nThis is my HTML document", false);
?>
上面的例子将输出(首先是xhtml,第二个普通的html):
foo isn't<br />
bar
Welcome<br>
This is my HTML document