HTML 在 textarea 中显示换行符
Posted
技术标签:
【中文标题】HTML 在 textarea 中显示换行符【英文标题】:HTML Display line breaks within textarea 【发布时间】:2012-11-09 05:10:31 【问题描述】:这个问题我已经问了好几种方法了,还是没有得到答案。
当您在包含换行符的 textarea 中捕获 asci 文本时,当您按回车时,它似乎会以换行符的形式插入不可见字符。换行符的格式似乎是 \r 用于返回或 \n 用于换行。这些字符在文本中不可见,但在某处。
但是,当我将此代码放入 textarea 时,我无法让它显示换行符。事实上,我找不到任何放置在 textarea 标签之间的代码显示换行符。
有人可以展示一种在文本区域中显示换行符的方法,即。
<textarea>first line <some code> second line </textarea>
我真的尝试了所有你能想象到的东西。例如,如果我尝试 <textarea> first line "\r\n" second line</textarea>
它只会显示
`firstline "\r\n"` second line
注意:任何涉及<br>
的东西都不会解决这个问题,因为这不是关于 html,而是在 textarea 框中显示的纯文本。
感谢您提供在 textarea 中显示换行符的建议代码。
【问题讨论】:
纯文本是用javascript动态插入textarea还是静态html? 【参考方案1】:如果您是通过纯 HTML 执行此操作,那么您可以通过以下两种方式之一执行此操作。只需按回车键或使用 ASCII 字符&#013; &#010;
添加行
jsFiddle
【讨论】:
好的。这样可行。你知道我会在文本中扫描什么以编程方式插入这些 ascii 字符,即在 php 中,如果我有 $text = $_GET['text']; $test = str_replace("\n"," ",$text); 不是 PHP 抱歉,.NET 使用 System.Environment.NewLine 如果这有助于您走上正确的道路。【参考方案2】:如果您使用 javascript,您可以使用 textarea 元素 value Property。
var tb = document.getElementById("tb");
var newLine = "\r\n";
var text = "Output: " + newLine + "-------------------" +
newLine + "line 1: " +
newLine + "line 2: ";
tb.value = text;
//console.log(text);
<textarea id="tb" rows=5>
Output: -------------
</textarea>
Run it on JSFiddle
【讨论】:
【参考方案3】:我不确定能理解你的问题。
如果你想把这个写在你的<textarea/>
first line
second line
你应该这样写:
<html>
<head>
<title></title>
</head>
<body>
<textarea rows="4" cols="40">
first line
second line
</textarea>
</body>
</html>
在 PHP 中你应该这样写
<html>
<head>
<title></title>
</head>
<body>
<textarea rows="4" cols="40"><?php echo "first line\r\nsecond line" ?></textarea>
</body>
</html>
确保字符串在 " 而不是 '
之间【讨论】:
我在第二个引号之后尝试了上面的 php 代码(添加 ;),它打印出第一行第二行,没有换行符。我真的试过 echo "first line\r\nsecond line";以上是关于HTML 在 textarea 中显示换行符的主要内容,如果未能解决你的问题,请参考以下文章
javascript/html/php 捕获 textarea 中的换行符