国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js過濾HTML標簽以及空格的思路及代碼

2019-11-20 22:41:19
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

function setContent(str) {
str = str.replace(/<//?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*/n/g,'/n'); //去除行尾空白
//str = str.replace(//n[/s| | ]*/r/g,'/n'); //去除多余空行
return str;
}

測試的時候發現這段代碼不能過濾掉網頁中空格字符(即: )。于是自己又改造了一下:

復制代碼 代碼如下:

function removeHTMLTag(str) {
            str = str.replace(/<//?[^>]*>/g,''); //去除HTML tag
            str = str.replace(/[ | ]*/n/g,'/n'); //去除行尾空白
            //str = str.replace(//n[/s| | ]*/r/g,'/n'); //去除多余空行
            str=str.replace(/ /ig,'');//去掉 
            return str;
    }

恩,我的要求達到了。

現在來稍稍解釋一下所用到的三個正則表達吧(需要說明的是,因為自己也是剛剛接觸,也許我的解釋并不是正確的,僅供參考):

第一個:/<//?[^>]*>/g

在js中正則表達式是以“/”開頭的,后面的/g,含義是表示全局模式,意思是在將匹配的模式應用于整個字符串,而不是在第一次匹配上之后就停止匹配了。

<//?[^>]*> 這個分開來解釋,其中第二個字符“/”是一個轉移字符,用來轉移后面的”/”字符的。?匹配0或1個正好在它之前的那個字符。注意:這個元字符不是所有的軟件都支持的。所以<//?就是匹配html標簽中的”</”格式或者“<”格式的。

再來說[^>]*>。[]是含義是:

 ^的含義是:匹配一行的開始。例如正則表達式^When in能夠匹配字符串"When in the course of human events"的開始,但是不能匹配"What and When in the"。意思就是匹配以“When in”開頭的文字。

*的含義是:匹配0或多個正好在它之前的那個字符。例如正則表達式。*意味著能夠匹配任意數量的任何字符

因此[^>]*意思是匹配>之外的字符。所以[^>]可以匹配出的模式可以像下面這樣的:

div
我需要的文字</div

我需要的文字</p

*和前面的[^>]結合在一起就可以匹配下面這些字符了:

div>我需要的文字</div
p>我需要的文字</p
br /
再加上后面的>就可以匹配下面的字符了:

div>我需要的文字</div>
p>我需要的文字</p>
br />
這樣就完成了一對HTML標簽的匹配了。(多句話,總覺得這個匹配有點

主站蜘蛛池模板: 朝阳市| 托里县| 名山县| 天祝| 阳西县| 澳门| 贵南县| 南康市| 九龙县| 滨州市| 平乡县| 锡林郭勒盟| 吴堡县| 凤台县| 日照市| 萨嘎县| 五原县| 瑞金市| 仙居县| 浙江省| 上饶市| 铜鼓县| 余姚市| 望谟县| 泌阳县| 彰武县| 简阳市| 米脂县| 内乡县| 康保县| 芦山县| 梁平县| 安泽县| 石台县| 渑池县| 绍兴市| 察隅县| 青岛市| 永德县| 平陆县| 万盛区|