【问题标题】:How to remove HTML tags from textarea with JavaScript如何使用 JavaScript 从 textarea 中删除 HTML 标签
【发布时间】:2011-01-08 17:58:40
【问题描述】:

我正在从数据库中加载文本,但我想使用 JavaScript 从中删除 html 链接代码。

所以让我们说 textarea 现在显示:

<a rel="nofollow" href="http://stackoverflow.com//questions/ask">http://stackoverflow.com//questions/ask</a> - good page 

我希望它显示:

http://stackoverflow.com//questions/ask - good page

我可以使用一些轻量级的东西来处理同一文本区域中的多个链接吗?

【问题讨论】:

    标签: javascript jquery html url textarea


    【解决方案1】:

    this answer 的启发,使用浏览器的 HTML 解析能力来完成这项工作。

    function strip(html)
    {
       var tmp = document.createElement("DIV");
       tmp.innerHTML = html;
       return tmp.textContent||tmp.innerText;
    }
    jQuery('#textareaid').text(function(index, text){
     return strip(text);
    });
    

    这是它工作的 JSFiddle:http://jsfiddle.net/Au95R/1/

    (编辑为使用更干净的 JS)

    【讨论】:

    • 请记住,在 IE8 中,innerText 不会尊重换行符 \r\n,因此它可能会严重混淆 textarea 的内容。
    【解决方案2】:

    你可以使用strip_tag(),就像在 PHP 中一样:http://phpjs.org/functions/strip_tags:535

    textareacontent = strip_tags(textareacontent, "<b><i>"); // remove all HTML except <b> and <i>.
    

    【讨论】:

      【解决方案3】:

      您可以使用正则表达式来做到这一点。 here 是关于堆栈溢出本身的问题,答案很好地解释了它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多