关于html textarea的帖子值

时间:2009-09-21 14:00:40

标签: php html xhtml textarea

窗口中的

文本文件,每行以\ r \ n结尾,在unix中,每行以\ n结尾。 textarea的帖子值是否遵循此规则?

5 个答案:

答案 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