亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php將URL地址轉化為完整的A標簽鏈接代碼

2024-05-04 21:47:55
字體:
來源:轉載
供稿:網友

前面介紹過js把文本鏈接轉換成A標簽,現在看一個php的方法,這個是在 Silva 代碼的基礎上修改的,如果有不完善的地方大家可提出來.

需要提取的內容如下:

<a href="http://baidu.com">http://baidu.com</a>這是第一個A標簽,

<a href="http://blog.baidu.com">成長腳印-專注于互聯網發展</a>這是第二個A標簽。

http://www.49028c.com這是第一個需要被提取的URL地址,

http://blog.baidu.com這是第二個需要被提取的URL地址'。

<img border="0" alt="" src="http://baidu.com/css/sitelogo_zh-cn.gif">,這是一個IMG標簽

類似微博中的自動提取URL為超鏈接地址,即將紅色標記的內容提取出來添加A標簽,轉換成真正的超鏈接,網上搜索了很久,沒有找到一個切實可行的解決方案,大都只是簡單的提取URL(A標簽和IMG標簽內的地址也被提取替換了),并不能滿足以上需求,正則表達式中也沒發現能夠實現提取時過濾掉A標簽的方法,于是轉換了一下思路,即先將所有的A標簽和IMG標簽正則替換為某一個統一的標記,然后再提取URL地址替換為超鏈接,最后再將統一的標記還原替換為以前的A標簽和IMG標簽便解決了,代碼如下: 

  1. function linkAdd($content){ 
  2.  //提取替換出所有A標簽(統一標記<{link}>) 
  3.  preg_match_all('/<a.*?href=".*?".*?>.*?</a>/i',$content,$linkList); 
  4.  $linkList=$linkList[0]; 
  5.  $str=preg_replace('/<a.*?href=".*?".*?>.*?</a>/i','<{link}>',$content); 
  6.  
  7.  //提取替換出所有的IMG標簽(統一標記<{img}>) 
  8.  preg_match_all('/<img[^>]+>/im',$content,$imgList); 
  9.  $imgList=$imgList[0]; 
  10.  $str=preg_replace('/<img[^>]+>/im','<{img}>',$str); 
  11.  
  12.  //提取替換標準的URL地址 
  13.  $str=preg_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_/+.~#?&//=]+)','<a href="/0" target="_blank">/0</a>',$str); 
  14.  
  15.  //還原A統一標記為原來的A標簽 
  16.  $arrLen=count($linkList); 
  17.  for($i=0;$i<$arrLen;$i++){ 
  18.   $str=preg_replace('/<{link}>/',$linkList[$i],$str,1);  
  19.  } 
  20.  
  21.  //還原IMG統一標記為原來的IMG標簽 
  22.  $arrLen2=count($imgList); 
  23.  for($i=0;$i<$arrLen2;$i++){ 
  24.   $str=preg_replace('/<{img}>/',$imgList[$i],$str,1);  
  25.  } 
  26.  
  27.  return $str
  28.  
  29. $content=' 
  30. <a href="http://baidu.com">http://baidu.com</a>這是第一個A標簽, 
  31. <a href="http://blog.baidu.com">成長腳印-專注于互聯網發展</a>這是第二個A標簽。 
  32. http://www.49028c.com這是第一個需要被提取的URL地址, 
  33. http://blog.baidu.com這是第二個需要被提取的URL地址。 
  34. <img border="0" alt="" src="http://baidu.com/css/sitelogo_zh-cn.gif">,這是一個IMG標簽'; 
  35. echo linkAdd($content); 

返回的內容為:

<a href="http://baidu.com">http://baidu.com</a>這是第一個A標簽, <a href="http://blog.baidu.com">成長腳印-專注于互聯網發展</a>這是第二個A標簽。 <a href="http://www.49028c.com" target="_blank">http://www.49028c.com</a>這是第一個需要被提取的URL地址, <a href="http://blog.baidu.com" target="_blank">http://blog.baidu.com</a>這是第二個需要被提取的URL地址。

<img border="0" alt="" src="http://baidu.com/css/sitelogo_zh-cn.gif">,這是一個IMG標簽

即為我們想要的內容.

例2,代碼如下:

  1. /** 
  2.  * PHP 版本 在 Silva 代碼的基礎上修改的 
  3.  * 將URL地址轉化為完整的A標簽鏈接代碼 
  4.  */ 
  5. /** ============================================= 
  6.  NAME        : replace_URLtolink() 
  7.  VERSION     : 1.0 
  8.  AUTHOR      : J de Silva 
  9.  DESCRIPTION : returns VOID; handles converting 
  10.  URLs into clickable links off a string. 
  11.  TYPE        : functions 
  12.  ============================================= */ 
  13.  
  14. function replace_URLtolink($text) { 
  15.     // grab anything that looks like a URL... 
  16.     $urls = array(); 
  17.      
  18.     // build the patterns 
  19.     $scheme = '(https?://|ftps?://)?'
  20.     $www = '([w]+.)'
  21.     $ip = '(d{1,3}.d{1,3}.d{1,3}.d{1,3})'
  22.     $name = '([w0-9]+)'
  23.     $tld = '(w{2,4})'
  24.     $port = '(:[0-9]+)?'
  25.     $the_rest = '(/?([w#!:.?+=&%@!-/]+))?'
  26.     $pattern = $scheme.'('.$ip.$port.'|'.$www.$name.$tld.$port.')'.$the_rest
  27.     $pattern = '/'.$pattern.'/is'
  28.      
  29.     // Get the URLs 
  30.     $c = preg_match_all($pattern$text$m); 
  31.      
  32.     if ($c) { 
  33.         $urls = $m[0]; 
  34.     } 
  35.      
  36.     // Replace all the URLs 
  37.     if (! emptyempty($urls)) { 
  38.         foreach ($urls as $url) { 
  39.             $pos = strpos('http://'$url); 
  40.              
  41.             if (($pos && $pos != 0) || !$pos) { 
  42.                 $fullurl = 'http://'.$url
  43.             } else { 
  44.                 $fullurl = $url
  45.             } 
  46.              
  47.             $link = ''.$url.''
  48.              
  49.             $text = str_replace($url$link$text); 
  50.         } 
  51.     } 
  52.      
  53.     return $text

例一測試過,例二沒有測試過大家測試一下看那個好用用那個吧.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品九九九| 国产精品99一区| 国产精品白嫩美女在线观看| 亚洲中国色老太| 久久久久久综合网天天| 亚洲一区二区三区乱码aⅴ蜜桃女| 日韩成人激情影院| 91欧美视频网站| 91成品人片a无限观看| 久久久久久成人| 国产精品视频在线观看| 欧美日韩国产一区二区三区| 欧美激情18p| 亚洲人午夜色婷婷| 欧美精品videofree1080p| 欧美日韩中文字幕在线| 亚洲人成77777在线观看网| 国产精品6699| 97精品免费视频| 亚洲欧美成人一区二区在线电影| 成人中文字幕在线观看| 国产在线观看一区二区三区| 中文字幕亚洲欧美| 成人性生交大片免费看小说| 另类美女黄大片| 91亚洲va在线va天堂va国| 欧洲精品毛片网站| 国产精品免费观看在线| 亚洲韩国欧洲国产日产av| 欧美一级电影久久| 国产精品69精品一区二区三区| 欧美日韩精品中文字幕| 亚洲精品美女久久久| 91免费在线视频网站| 亚洲视频在线免费观看| 国产精品女主播| 亚洲国产精品字幕| 欧美香蕉大胸在线视频观看| 精品国产91久久久久久老师| 国产精品免费久久久久影院| 97香蕉久久夜色精品国产| 日本精品免费一区二区三区| 亚洲福利视频免费观看| 狠狠躁夜夜躁久久躁别揉| 国产精品精品视频一区二区三区| 亚洲欧美资源在线| 成人精品视频久久久久| 96国产粉嫩美女| 国产亚洲精品综合一区91| 国产精品成人观看视频国产奇米| 91性高湖久久久久久久久_久久99| 精品国产一区二区三区久久久狼| 日韩视频精品在线| 国产suv精品一区二区三区88区| 亚洲国产另类 国产精品国产免费| 26uuu日韩精品一区二区| 欧美一区二粉嫩精品国产一线天| 中文字幕在线看视频国产欧美| 92国产精品视频| 亚洲综合在线做性| 免费av在线一区| 国产精品视频一区国模私拍| 精品久久久久久久大神国产| 亚洲第一中文字幕| 亚洲国产91色在线| 日韩在线视频免费观看| 欧洲美女免费图片一区| 日韩中文字幕网址| 最近中文字幕2019免费| 成人激情在线播放| 欧美裸体xxxx极品少妇| 性夜试看影院91社区| 国产精品羞羞答答| 色黄久久久久久| 亚洲人成网站免费播放| 欧美性生交xxxxxdddd| 久久久av电影| 日韩欧美成人网| 亚洲a∨日韩av高清在线观看| 精品中文字幕在线2019| 国产剧情久久久久久| 欧美精品videos| 欧美日韩亚洲系列| 欧美电影免费播放| 欧美精品少妇videofree| 欧美孕妇毛茸茸xxxx| 亚洲网站在线播放| 国产网站欧美日韩免费精品在线观看| 亚洲精品久久久久久下一站| 日本欧美在线视频| 亚洲最新中文字幕| 亚洲自拍中文字幕| 久久精品国产综合| 精品视频一区在线视频| 一区二区av在线| 精品爽片免费看久久| 亚洲一级一级97网| 日韩免费高清在线观看| 一本色道久久综合狠狠躁篇的优点| 91免费国产网站| 欧美一级免费看| www国产91| 国产精品久久久久久影视| 国产精品∨欧美精品v日韩精品| 欧美视频在线观看免费| 亚洲sss综合天堂久久| 国产欧美日韩精品在线观看| 国产精品偷伦视频免费观看国产| 国内精品伊人久久| 亚洲va欧美va国产综合剧情| 国产亚洲日本欧美韩国| 日韩小视频网址| 91高潮精品免费porn| 久久久极品av| 中文欧美日本在线资源| 亚洲欧洲日本专区| 国语自产精品视频在免费| 欧美精品成人91久久久久久久| 国产精品入口尤物| 日韩av片电影专区| 亚洲精品国产精品国自产在线| 亚洲福利视频网站| 国产亚洲一级高清| 久久久电影免费观看完整版| 中文字幕精品一区久久久久| 欧美巨猛xxxx猛交黑人97人| 中文字幕日韩欧美在线| 久久99久久久久久久噜噜| 欧美精品国产精品日韩精品| 久久精品国产96久久久香蕉| 国产97色在线|日韩| 98午夜经典影视| 国产精品欧美一区二区| 91影视免费在线观看| 欧美日韩中文字幕| 成人免费在线视频网址| 国产成人短视频| 精品亚洲夜色av98在线观看| 久久国产精品影片| 亚洲精品日产aⅴ| 成人黄色在线观看| 一区二区在线视频| 亚洲国内精品在线| 国产欧美 在线欧美| 欧美成人激情视频免费观看| 日本免费一区二区三区视频观看| 亚洲男人天堂手机在线| 国模精品视频一区二区三区| 久久久久久香蕉网| 久久69精品久久久久久国产越南| 在线性视频日韩欧美| 日韩精品视频免费专区在线播放| 中文字幕在线看视频国产欧美| 亚洲最大福利视频网站| 久久亚洲欧美日韩精品专区| 国产国产精品人在线视| 亚洲精品视频播放| 日韩在线免费视频观看| 激情久久av一区av二区av三区| 欧美床上激情在线观看| 国产精品爱久久久久久久| 亚洲精品720p| 久久久久久久电影一区| 欧美另类第一页|