使用jQuery从字符串中删除html标记

时间:2014-08-12 09:27:48

标签: javascript jquery html

我想从字符串中删除HTML标记,例如remove div,p,br,...

我试图这样做:

var mystring = "<div><p>this</p><p>is</p><p>my</p><p>text</p><p>sample</p><p> </p><p> </p></div>"

var html3 = $(mystring).text();

但结果是:

"thisismytextsample  "

怎么做呢:&#34;这是我的文字样本&#34;

3 个答案:

答案 0 :(得分:4)

您可以在数组中获取所有p标记文本,然后使用空格连接它们:

$(mystring).find('p').map(function() {
   return $(this).text();
}).toArray().join(' '));

<强> Working Demo

答案 1 :(得分:1)

您可以使用替换功能:

var mystring="<div><p>this</p><p>is</p><p>my</p><p>text</p></div>"
var stripped = mystring.replace(/(<([^>]+)>)/ig," "); // this is my text

来源:http://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/

答案 2 :(得分:1)

使用正则表达式

尝试此操作
var mystring="<div><p>this</p><p>is</p><p>my</p><p>text</p><p>sample</p><p> </p><p> </p></div>"


function RemoveHTMLTags(string1) {
            var regX = /(<([^>]+)>)/ig;
            var html = string1;
            return html.replace(regX, " ");
        }


var res = RemoveHTMLTags(mystring);

alert(res);

DEMO