Javascript text区域\n至<;br>;不假思索
我在textarea中输入内容,按下按钮后,我的JS接收textarea输入并将其放入div标记中 问题是,当我在文本区域中输入换行符时,如下所示:Javascript text区域\n至<;br>;不假思索,javascript,jquery,html,Javascript,Jquery,Html,我在textarea中输入内容,按下按钮后,我的JS接收textarea输入并将其放入div标记中 问题是,当我在文本区域中输入换行符时,如下所示: Hi Goodbye 它在div中显示为 Hi<br><br>Goodbye 这是我发现的一个函数,应该用breaktags替换换行符: function nl2br (str, is_xhtml) { var breakTag = (is_xhtml || typeof is_xhtml === 'undefi
Hi
Goodbye
它在div中显示为
Hi<br><br>Goodbye
这是我发现的一个函数,应该用breaktags替换换行符:
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');
}
然而,正如你所看到的,它不起作用
我该怎么做?如果您需要更多代码,请务必让我知道如果您这样做,它可能会起作用:
$('#mydiv').html(etext);
…或没有框架:
document.getElementById("mydiv").innerHTML = etext;
问题是自动转义标记字符:
我们需要注意的是,这个方法会转义所提供的字符串
这是必要的,以便它能够以HTML格式正确呈现。要做到这一点,它需要
替换特殊字符的DOM方法.createTextNode()
使用它们的HTML实体等价物(例如“它不工作”-怎么会这样?它在做什么,这是您不期望的。而且,不,我看不出来,因为您没有显示示例。@Oded-示例是文章的第一部分,“
”,在我使用nl2br之后function@Oded-我希望div有换行符,但它有实际的break标记。这是一个“Aww,DOH!”时刻……)
$('#mydiv').html(etext);
document.getElementById("mydiv").innerHTML = etext;