为原始html输出一致地解析文本

时间:2012-01-09 16:21:16

标签: javascript html node.js

我在textarea中有一些文字输入,如下所示:

Here's some text./r/n
/r/n
Here's some more text.

我想像这样展示它:

<p>Here's some text.</p>
<p>Here's some more text.</p>

Node.js中是否有任何模块可以将用户输入的文本转换为原始HTML进行显示?或者我应该使用某种形式的replace?如果是后者,什么是合适的正则表达式?

PHP的HTML Purifier之类的东西是完美的。

2 个答案:

答案 0 :(得分:0)

我不确定您希望输入文本有多复杂,但我建议showdown。这是用javascript编写的HTML转换器的降价。也许有点比你要求的更加漂亮,但它应该可以让你轻松支持降价输入。

答案 1 :(得分:0)

在给定的情况下,这可以解决问题(其中t是输入ext,n是要追加的Node

var a = t.split([\n\t\r]+) ;

for(var i = 0, p ; i < a.length ; i++) {
     p = document.createElement("p") ;
     if(!! window.ActiveXObject) p.innerText = a[i] ;
     else p.textContent = a[i] ;
     n.appendChild(p) ;
}

从您的问题看来,您似乎需要一种更通用的方法。


Try it on JSBin