在HTML文本区域中添加换行符

36

我在一个HTML页面的文本区域中如何添加换行? 我使用VB.net进行服务器端编程。

8个回答

58
如果不是VB,您可以使用
(回车和换行的ASCII码)来实现。

4
我认为通用解决方案应该被采纳。或者在问题中添加一个vb.net标签。 - Puce
这帮助我使用 AJAX 和 PHP 将换行符回显到我的文本区域,例如:echo $content.'

database text' - Ginger and Lavender
只有在 HTML 代码的文本区域正文中输入 ASCII 代码时,此解决方案才有效。如果通过 JavaScript 插入这些代码,例如 e.value=" this that",它们将仅以原始未翻译符号的形式出现在文本区域的文本中。下面还有另一个答案(Loren Segal),正确地建议您可以在要插入文本区域的字符串中放置“\n”,这将转换为换行符。例如:document.getElementById("myTextArea").value = "this \n that"; - KWallace

22

在输出中添加一个换行符("\n"):

<textarea>Hello


Bybye</textarea>

这里会有一个换行。


5
您可以使用\r\nSystem.Environment.NewLine

4

如果您正在从数据库或其他来源插入文本(通常是这样),请将所有"<br />"转换为&vbCrLf。对我来说效果很好 :)


3
在文本区域中,与表单输入类似,只需普通的换行符即可起作用:
<textarea>
This is a text area
line breaks are automatic
</textarea>

如果您在讨论页面上的普通文本,那么 <br />(或者如果使用普通的HTML4,则只需使用<br>)是换行符。
然而,我想说的是,您通常实际上并不需要换行。通常,文本被分成段落。
<p>
  This is some text
</p>
<p>
  This is some more
</p>

这样做更好,因为它可以提供给阅读器一些关于文本结构的线索。阅读器包括部分视力受损或盲人使用的屏幕阅读器,将文本分段可以增加这些用户正确理解内容的机会。


1

这是我用纯PHP和CSS制作的方法:

/** PHP code    */
<?php
    $string = "the string with linebreaks";
    $string = strtr($string,array("."=>".\r\r",":"=>" : \r","-"=>"\r - "));
?>

并且 CSS 代码如下:

.your_textarea_class {
style='white-space:pre-wrap';
}

你可以使用正则表达式来做同样的事情(我正在学习如何使用 preg_replace 和关联数组构建正则表达式,这似乎更适合添加 \n\r,以便换行符显示)。


1
转义序列如"\n"在文本区域中也可以正常工作!我将带有"\n"的Java字符串传递到HTML文本区域中,它能像在Java控制台中一样正常工作!

1

我相信这会起作用:

TextArea.Text = "Line 1" & vbCrLf & "Line 2"

如果你不想太过于VB6,可以使用System.Environment.NewLine来替代vbCrLf。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接