a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > regex > 正文

正則獲取圖片地址 鏈接地址

2020-01-20 22:22:55
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

reg = /<[img|href][^>]*src/s*=/s*('|")?([^'">]*)/1([^>])*>/ig


正則獲取圖片地址

一、問題:

采集的過程中遇到一個問題:從數據庫里讀出來的圖片沒有正常顯示,分析后發現是數據庫里的圖片以網站根目錄為相對路徑方式存儲,圖片地址如:/uploads/allimg/090403/012F31N9-1.jpg,原來做的讀取圖片是以http://開關的URL絕對圖片獲取,所以采集中出現以根目錄開始的圖片地址采集失敗。

二、解決方案:

分析HTML代碼,顯示圖片定用<img>標簽,寫一個正則式獲取<img>里的圖片地址再加網站的網站轉換為URL的絕對地址,接著的事情交給后面的代碼(遠程圖片獲取到本地)。

1) 完善解決方法,以“<img”開始寫正規,但這個正式式比較難寫要考慮“<img>”的屬性、空格、多空格、單引號、雙引號、不規范的屬性引用(如單引號或雙引號括起的屬性值)等等。
2)應急解決方法,只要考慮“src=”屬性開始的正則式,但這種方式存在不完善的地方,只要有“src=”出現在的都會被替換,出現“src="的可能性有:javascript,文本里出現的"src"等。但這些是比較少的,再加上一個圖片格式做正則限定,出現被誤替換的概率會更少。

三、實現代碼:

考慮到第一種方法的難度暫時沒有寫,這里第二種應急解決方法實現(實現涉及的正則式內容這里不做講解和分析,正則式的知識內容請google或baidu ^v^):

復制代碼 代碼如下:

<?php
//測試樣式,考慮多種情況下的正則式。
$body = <<<HTML
<P align=center>1<img width="60" height="90px" src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>4<img width="60" height="90px" src= "http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg"></P>
<P align=center>5<img src=" /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>6<img src= " /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
HTML;

//網站的地址
$str='src=/'http://www.chongwen.com/';
$body=preg_replace('/src/s*?=/s*?[/"|/']?/s*?//(.+?/.(?:jpg|gif|png|bmp))(/"|/'|/s)*?/s*?/is',"$str$1 '",$body);
echo $body;
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 特级黄一级播放 | 国产精品第一国产精品 | 精品视频一区二区 | 欧美日韩在线免费观看 | 视频在线一区 | 91av国产在线视频 | 五月婷婷色 | 日韩性网站| 日韩在线欧美 | 爱爱视频免费在线观看 | 五月天中文字幕 | 国产精品久久九九 | 欧美日一区| 日韩av片免费看 | 亚洲三级在线播放 | 日韩快播电影网 | 亚洲国产精品一区 | 在线天堂新版最新版在线8 久久亚洲欧美日韩精品专区 | 天天操狠狠操网站 | 久久99精品久久久噜噜最新章节 | 中文字幕第二十六页页 | 在线日韩视频 | 免费a网站| a视频在线观看免费 | www.久久久精品 | 国内精品久久久久久久影视蜜臀 | 国产精品久久免费视频在线 | 精品二区 | 欧美国产精品一区 | 91国内精品 | 国产精品久久久久久久久久久久冷 | 国产午夜视频在线观看 | 可以在线观看的黄色 | 成人在线观看亚洲 | 亚洲精品视频在线看 | 欧美成人精品一区二区 | 91精品久久久久久久99 | 黄色一级毛片 | 免费黄色在线 | 亚洲三级网| 在线免费av观看 |