如何在HTML textarea>中设置文本格式?

How can I format text in an HTML <textarea>?

本文关键字:置文本 格式 HTML textarea      更新时间:2023-09-26

我有一个

现在假设我在文本区输入如下内容:

Hey
how's
it
going
?

这个段落看起来像这样

Hey how's it going ?
基本上,它不会在每行末尾有
标签。是否有一种方法,我可以强制JavaScript函数插入
标签在我的文本区的每一行的末尾,或者有一个更简单的方法来做到这一点?

JavaScript代码:

document.getElementById("sendMsgBtn").onclick = function(){
    var element = document.createElement("p");
    element.style.borderBottom = "1px solid black";
    var content = document.createTextNode(document.getElementById("currentMsg").value);
    content = content.replace(/'n/g, "<br>");
    element.appendChild(content);
    document.body.appendChild(element);
    document.getElementById("currentMsg").value = "";
}

不要换行。相信我。

就这样设置:

white-space: pre-wrap;

当您将元素从文本区复制到段落标记时,将所有换行符替换为<br>标记:

var input = document.getElementById("myTextarea").innerHTML; // get textarea contents
input = input.replace( /'n/g, "<br>"); // replace line breaks with <br> tags
document.getElementById("myParagraph").innerHTML = input; // place html-ified input into your <p>

如果你正在使用jQuery,试试这个:

function nl2br (str, is_xhtml) {
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
    return (str + '').replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '$1' + breakTag + '$2');
}

则可以使用nl2br(yourVariableWithContent);将换行符(返回按钮生成的换行符)更改为