生活随笔
收集整理的這篇文章主要介紹了
使用 js替换网页中的关键词为链接
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
要求把一段html腳本中的疾病名添加到疾病庫(kù)的鏈接,只添加一次,要避開(kāi)超鏈接或圖片鏈接。
最初是用的? ? str.replace('糖尿病', '<a href=...>糖尿病</a>');
結(jié)果找了半天,愣是沒(méi)找到替換后的效果,原來(lái)是有個(gè)圖片的title中包含糖尿病,被它捷足先登了。
因此要把<a>鏈接、<img>標(biāo)簽避開(kāi),但<p><div>等標(biāo)簽不用避開(kāi)
上圖:
?
[javascript]?view plaincopy
????s?=?"<a?href='http://www.yx129.com/bingli/1_310.html'>先看一個(gè)糖尿病病歷</a>?<br/>"?+???????????"<IMG?style='vertical-align:middle'?width=40?src='http://yx129.com/api/minisite/images/skin/green/doctor_thumb_100.png'/>糖尿病王醫(yī)生<br/>"?+???????????"糖尿病簡(jiǎn)介<br/>糖尿病發(fā)病率<br/><a?href='baidu.com'>糖尿病癥狀<br/>"?+???????????"</a>?";???document.write(s);??????a_reg?=?/<a(.*?)<\/a>/i;???img_reg?=?/<img(.*?)>/i;??var?ix?=?0;??????var?arr_ele?=?[];????while(true){??????if(-1?==?s.toLowerCase().indexOf('<a?')?&&?-1?==?s.toLowerCase().indexOf('<img?')){??????????break;??????}??????a_match?=?s.match(a_reg);??????if(a_match){??????????????????arr_ele.push(a_match[0]);??????????s?=?s.replace(a_reg,?'{{'?+ix+?'}}');??????????ix++;??????}??????img_match?=?s.match(img_reg);??????if(img_match){??????????????????arr_ele.push(img_match[0]);??????????s?=?s.replace(img_reg,?'{{'?+ix+?'}}');??????????ix++;??????}??????console.log(s);??}????document.write('<br>-------------------------<br>第1步:把鏈接替換為{{index}}后:<br>'+s+'<br>');????s?=?s.replace(/糖尿病/i,?"<a?target='_blank'?href='http://jibing.yx129.com/tnb'>糖尿病</a>");????document.write('<br>-------------------------<br>第2步:添加疾病庫(kù)鏈接后:<br>'+s+'<br>');????if(arr_ele){??????for(var?i=0;?i<arr_ele.length;?i++){??????????s?=?s.replace('{{'?+?i?+?'}}',?arr_ele[i]);??????}??}????document.write('<br>-------------------------<br>第3步:把鏈接替換回去之后:<br>'+s+'<br>');?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的使用 js替换网页中的关键词为链接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。