【问题标题】:Consistent parsing of text for raw html output对原始 html 输出的文本进行一致的解析
【发布时间】:2012-02-06 04:12:38
【问题描述】:

我在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 这样的东西会很完美。

【问题讨论】:

    标签: javascript html node.js


    【解决方案1】:

    在给定的情况下,这可以解决问题(其中t 是输入分机,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

    【讨论】:

      【解决方案2】:

      我不确定您希望输入文本有多复杂,但我建议showdown。它是一个用 javascript 编写的 markdown 到 HTML 转换器。可能比你问的要花哨一些,但它应该能让你轻松支持 markdown 输入。

      【讨论】:

        猜你喜欢
        • 2015-04-16
        • 1970-01-01
        • 2016-04-17
        • 1970-01-01
        • 2020-09-08
        • 1970-01-01
        • 1970-01-01
        • 2020-06-10
        • 2015-07-15
        相关资源
        最近更新 更多