欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小知识点:通过indexOf去掉HTML中的img标签

程序员文章站 2022-07-12 18:55:02
...

有时候需要过滤掉HTML的img标签或者其他的标签,代码想了不少时间,特意做个记录,以备后用。
假如:text变量为已经获取到的HTML代码,首先将html代码通过img标签的特征拆分成数组,数组中有几个元素,说明html中有几个img标签

var strs = text.split("<img src");

然后再循环数组对每个元素进行截取

for(var i=0;i<strs.length;i++){
	text = text.replace(text.substring(text.indexOf("<img src"),text.indexOf(">",text.indexOf("<img src"))+1),"")
}

截取时,有几个img标签就需要处理几次。
先通过text.indexOf("<img src")获取img标签开头的索引位置,再通过text.indexOf(">",text.indexOf("<img src"))+1)获取从img标签开头的索引位置开始定位img标签结尾的索引位置。

此处需要对indexOf(str)和indexOf(str,x)的使用非常清楚:
indexOf(str)默认从字符串的开始寻找第一个匹配的内容的索引位置
indexOf(str,x)从x的位置往后开始寻找第一个匹配的内容的索引位置

当循环处理时,首先把第一个img标签的内容找到头和尾的位置,然后根据位置截取,再进行替换为空,第一个img标签替换为空之后,第二次循环时,找到的将是第二个img标签,使用同样的方式处理。

同理,要过滤字符串其他的字符段,均可采用此方法

相关标签: 过滤 indexOf