【问题标题】:Want to remove any HTML tags [duplicate]想要删除任何 HTML 标签 [重复]
【发布时间】:2011-10-30 07:42:47
【问题描述】:

可能重复:
Strip HTML from Text JavaScript

这是一个字符串

var s = "This is <strong>something</strong>."

我想从这个字符串中删除任何 HTML 标记。

如果您的答案与正则表达式无关,那也没关系。谢谢。

【问题讨论】:

标签: javascript regex


【解决方案1】:

试试这个

s.replace(/<[^>]*?>/g, '');

JsFiddle DEMO

【讨论】:

  • 这不是最好的方法。最好希望您的页面上没有任何数学运算 n&lt;1; or 1+1&gt;0 并且您最好希望您的 HTML 不会跨越多行 &lt;input type="text"\n class="..."\n id="..."\n /&gt;&lt;div&gt;...&lt;/div&gt; 内页空白可能是格式化的噩梦,因此我经常将我的 HTML 元素跨越多行
  • @vol7ron - n&amp;lt;1 实际上不是合法的 HTML(它应该是 n&amp;lt;1),尽管许多浏览器会容忍它。
【解决方案2】:

以下 jQuery 示例将对您有所帮助

function getString(html)
{
   return  $("<DIV>").html(html).text();
}

【讨论】:

    【解决方案3】:

    Strip HTML from Text JavaScript

    试试这个。要有用,你必须把你的字符串放在 html 和 body 标签中。

    【讨论】:

      【解决方案4】:

      您可以使用 DOM 元素的 innerText 属性(或 Firefox 的 textContent):

      var s = 'This is <strong>something</strong>.',
          div = document.createElement('div');
      div.innerHTML = s;
      s = div.innerText || div.textContent;
      

      【讨论】:

        猜你喜欢
        • 2013-04-28
        • 2013-07-22
        • 2012-12-29
        • 2010-12-14
        • 2012-05-29
        • 2011-09-04
        • 2010-11-10
        • 2012-12-06
        • 2022-10-18
        相关资源
        最近更新 更多