小知識點:通過indexOf去掉HTML中的img標籤

有時候需要過濾掉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標籤,使用同樣的方式處理。

同理,要過濾字符串其他的字符段,均可採用此方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章