日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

使用 js替换网页中的关键词为链接

發(fā)布時間:2025/5/22 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 js替换网页中的关键词为链接 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

要求把一段html腳本中的疾病名添加到疾病庫的鏈接,只添加一次,要避開超鏈接或圖片鏈接。

最初是用的? ? str.replace('糖尿病', '<a href=...>糖尿病</a>');

結果找了半天,愣是沒找到替換后的效果,原來是有個圖片的title中包含糖尿病,被它捷足先登了。

因此要把<a>鏈接、<img>標簽避開,但<p><div>等標簽不用避開

上圖:

?

[javascript]?view plaincopy
  • ???
  • ?s?=?"<a?href='http://www.yx129.com/bingli/1_310.html'>先看一個糖尿病病歷</a>?<br/>"?+??
  • ?????????"<IMG?style='vertical-align:middle'?width=40?src='http://yx129.com/api/minisite/images/skin/green/doctor_thumb_100.png'/>糖尿病王醫(yī)生<br/>"?+??
  • ?????????"糖尿病簡介<br/>糖尿病發(fā)病率<br/><a?href='baidu.com'>糖尿病癥狀<br/>"?+??
  • ?????????"</a>?";??
  • ?document.write(s);??
  • ???
  • ?a_reg?=?/<a(.*?)<\/a>/i;??//a鏈接的正則??
  • ?img_reg?=?/<img(.*?)>/i;?//圖片鏈接的正則,防止圖片的title,alt什么的屬性包括疾病名而誤替換??
  • ?var?ix?=?0;??
  • ???
  • ?var?arr_ele?=?[];??
  • ?//先把<a><img>2類標簽全部替換為{{index}},然后處理剩下的文字,再把<a><img>標簽的內容替換回去??
  • ?while(true){??
  • ????if(-1?==?s.toLowerCase().indexOf('<a?')?&&?-1?==?s.toLowerCase().indexOf('<img?')){??
  • ????????break;??
  • ????}??
  • ????a_match?=?s.match(a_reg);??
  • ????if(a_match){??
  • ????????//console.log(a_match);??
  • ????????arr_ele.push(a_match[0]);??
  • ????????s?=?s.replace(a_reg,?'{{'?+ix+?'}}');??
  • ????????ix++;??
  • ????}??
  • ????img_match?=?s.match(img_reg);??
  • ????if(img_match){??
  • ????????//console.log(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步:添加疾病庫鏈接后:<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ù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的使用 js替换网页中的关键词为链接的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。