从javascript字符串中删除HTML标记

时间:2012-12-17 09:45:07

标签: javascript jquery

我有这段代码:

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

我想从上面的字符串中删除所有<p></p>标记。只想显示没有html标签的字符串值,如:

"Dear sms, This is a test notification for push message from center II."

11 个答案:

答案 0 :(得分:64)

为什么不让jQuery这样做呢?

var content = "<p>Dear sms,</p><p>This is a test notification for push message from center II.</p>";

var text = $(content).text();

答案 1 :(得分:26)

这是我的解决方案,

function removeTags(){
    var txt = document.getElementById('myString').value;
    var rex = /(<([^>]+)>)/ig;
    alert(txt.replace(rex , ""));

}

答案 2 :(得分:9)

使用普通的javascript:

content = content.replace(/(<p>|<\/p>)/g, "");

答案 3 :(得分:4)

您可以使用jQuery text()获取纯文本without html标记。

<强> Live Demo

withoutP = $(content).text()

答案 4 :(得分:1)

var content = "a<br />";
var withoutP = $(content).text()
alert(withoutP )

这个不适用于.text()解决方案。

答案 5 :(得分:1)

这个正在检查特殊字符

&#13;
&#13;
var $string = '&lt;a href=&quot;link&quot;&gt;aaa&lt;/a&gt;';
var $string2 = '<a href="link">aaa</a>';
var $string3 = 'BBBBB';
var $string4 = 'partial<script';
var $string5 = 'has    spaces';

function StripTags(string) {

  var decoded_string = $("<div/>").html(string).text();
  return $("<div/>").html(decoded_string).text();

}

console.log(StripTags($string));
console.log(StripTags($string2));
console.log(StripTags($string3));
console.log(StripTags($string4));
console.log(StripTags($string5));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 6 :(得分:0)

hidden element放在标记中,或者从jQuery创建它。使用此代码可以获得纯文本而不会出现不完整标记的复杂问题,&lt;等。

content = $(hiddenElement).html($(hiddenElement).html(content).text()).text();

答案 7 :(得分:0)

使用正则表达式:

var cleanContent = content.replace(/(<([^>]+)>)/ig,"");

答案 8 :(得分:0)

myString.replace(/<[^>]*>?/gm, '');

答案 9 :(得分:0)

您可以使用 striptags 模块删除 HTML 并获取文本。这是一个非常简单直接的解决方案。

答案 10 :(得分:-3)

function htmlTagremove(text) {

   var cont = document.createElement('div'),
   cont.innerHTML=text;

   return $(cont).text();

}

htmlTagremove('<p><html>test');