正則表達(dá)式處理圖片地址、img標(biāo)簽的方法
再上傳表情或者圖片地址時(shí)候很多時(shí)候不能直接上傳<img src=" " />,因此在上傳評(píng)論或者圖片之前應(yīng)該先處理一下img標(biāo)簽。舉例如下,希望可以幫助更多的程序猿~
<span style="font-size:14px;">//第一步是獲取到帶有img標(biāo)簽的字符串 var str = '圖片1<img src="arclist/sanai.png">圖片2<img src="arclist/em_23.gif">圖片3<img src="arclist/451.gif">';</span>
處理獲取到的字符串
<span style="font-size:14px;">//將img標(biāo)簽替換為特定編碼方式的表達(dá)式 var reg = /<img[^>]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi; str = str.replace(reg, "[face:$1.gif]"); console.log(str);</span>
運(yùn)算結(jié)果為:
<span style="font-size:14px;">圖片1[face:sanai.gif]圖片2[face:em_23.gif]圖片3[face:451.gif]</span>
這樣上傳到服務(wù)器的代碼就不會(huì)存在html標(biāo)簽,這是一種很好的應(yīng)對(duì)帶有圖片評(píng)論且上傳信息禁止html標(biāo)簽的方法。
接下來:
從服務(wù)器上返回的上一步中的運(yùn)行結(jié)果,在反向解析,方法如下:
<span style="font-size:14px;">//將特定編碼方式替換成img標(biāo)簽的表達(dá)式 var regg = / face:([\w]+).gif /gi; str = str.replace(regg,"<img src='images/$1.gif' />"); console.log(str);</span>
運(yùn)行結(jié)果為:
<span style="font-size:14px;">圖片1<img src='images/sanai.gif' />圖片2<img src='images/em_23.gif' />圖片3<img src='images/451.gif' /></span>
下面附上代碼的html頁,可以全部復(fù)制粘貼到html文件中直接運(yùn)行,親測(cè)可用
<span style="font-size:14px;"><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var str = '圖片1<img src="arclist/sanai.png">圖片2<img src="arclist/em_23.gif">圖片3<img src="arclist/451.gif">'; //將img標(biāo)簽替換為特定編碼方式的表達(dá)式 var reg = /<img[^>]*src[=\"\'\s]+[^\.]*\/([^\.]+)\.[^\"\']+[\"\']?[^>]*>/gi; str = str.replace(reg, "[face:$1.gif]"); console.log(str); //將特定編碼方式替換成img標(biāo)簽的表達(dá)式 var regg = / face:([\w]+).gif /gi; str = str.replace(regg,"<img src='images/$1.gif' />"); console.log(str); </script> </body> </html></span>
以上兩種方法很好的解決的對(duì)img標(biāo)簽的正反運(yùn)算,第一種方法為之前收集,不記得原作者,如有冒犯可以提出署名。后一種方法為本人自寫,存在一定的局限性,歡迎大家討論~
以上所述是小編給大家介紹的正則表達(dá)式處理圖片地址、img標(biāo)簽的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Javascript正則表達(dá)式測(cè)試網(wǎng)頁
Javascript正則表達(dá)式測(cè)試網(wǎng)頁...2006-06-06
通過Java正則表達(dá)式去掉SQL代碼中回車換行和多余空格
剛才在寫一個(gè)代碼工具,遇到SQL換行和多余空格的問題,導(dǎo)致處理很困難,于是寫了一個(gè)正則式,搞定了,特分享下方便需要的朋友2012-09-09
20個(gè)正則表達(dá)式必知(能讓你少寫1,000行代碼)
這篇文章主要介紹了20個(gè)正則表達(dá)式必知(能讓你少寫1,000行代碼)的相關(guān)資料,需要的朋友可以參考下2016-04-04
正則表達(dá)式(RegExp)判斷文本框中是否包含特殊符號(hào)
有時(shí),我們希望判斷文本框中用戶輸入的字符是否含有特殊符號(hào)(*/#$@),就像用戶注冊(cè)時(shí)密碼框的填寫。下面小編給大家分享一個(gè)demo,感興趣的朋友一起看看吧2019-10-10
用JavaScrip正則表達(dá)式驗(yàn)證form表單的方法
這篇文章主要介紹了用JavaScrip正則表達(dá)式驗(yàn)證form表單的方法,需要的朋友可以參考下2017-05-05

