【问题标题】:HTML Display line breaks within textareaHTML 在 textarea 中显示换行符
【发布时间】:2012-11-09 05:10:31
【问题描述】:

这个问题我已经问了好几种方法了,还是没有得到答案。

当您在包含换行符的 textarea 中捕获 asci 文本时,当您按回车时,它似乎会以换行符的形式插入不可见字符。换行符的格式似乎是 \r 用于返回或 \n 用于换行。这些字符在文本中不可见,但在某处。

但是,当我将此代码放入 textarea 时,我无法让它显示换行符。事实上,我找不到任何放置在 textarea 标签之间的代码显示换行符。

有人可以展示一种在文本区域中显示换行符的方法,即。

<textarea>first line <some code> second line </textarea>

我真的尝试了所有你能想象到的东西。例如,如果我尝试 &lt;textarea&gt; first line "\r\n" second line&lt;/textarea&gt; 它只会显示

`firstline "\r\n"` second line

注意:任何涉及&lt;br&gt; 的东西都不会解决这个问题,因为这不是关于 html,而是在 textarea 框中显示的纯文本。

感谢您提供在 textarea 中显示换行符的建议代码。

【问题讨论】:

  • 纯文本是用javascript动态插入textarea还是静态html?

标签: html textarea line-breaks


【解决方案1】:

如果您是通过纯 HTML 执行此操作,那么您可以通过以下两种方式之一执行此操作。只需按回车键或使用 ASCII 字符&amp;#013; &amp;#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: &#13;&#10;-------------
</textarea>

Run it on JSFiddle

【讨论】:

    【解决方案3】:

    我不确定能理解你的问题。

    如果你想把这个写在你的&lt;textarea/&gt;

    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";
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2013-11-03
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多