JS 过滤HTML标签,取得纯文本

一、过滤掉所有HTML标签如下:

str.innerHTML.replace(/<.*?>/g,"")

二、过滤掉带属性的某一个标签,如<span class='aa'></span>标签:

var str = "<p>这里是测试过滤<span class='aa'>span标签的哦</span></p>";
str.replace(/<span (.*?)>/gi,"");

str.replace(/<\/span>/gi,"");

三、过滤掉不带属性的某一个标签,如<span></span>标签:

var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str = str.replace(/<span>/gi,"");
str = str.replace(/<\/span>/gi,"");
var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str.replace(/<span>/gi,"").replace(/<\/span>/gi,"");

四、过滤配对<span></span>标签(不包含属性),一起过滤掉

var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str.replace(/<span>|<\/span>/gi,"");

五、过滤配对<span ></span>标签(包含属性),一起过滤掉

var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str.replace(/<span\s*[^>]*>(.*?)<\/span>/ig,"$1");
var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str.replace(/<span.*?>|<\/span>/ig,"");

注意事项:

var str = "<p>这里是测试过滤<span>span标签的哦</span></p>";
str.replace(/<span>/gi,"");
str.replace(/<\/span>/gi,"");

结果如下:

从结果中可以看出<span>并没有过滤掉,原因是原字符串不会改变

执行完第一句replace后,可以看到第二句str仍为原始值

参考:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

转载于:https://www.cnblogs.com/loveamyforever/p/7454557.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值