php實(shí)現(xiàn)獲取文章內(nèi)容第一張圖片的方法
本文實(shí)例講述了php實(shí)現(xiàn)獲取文章內(nèi)容第一張圖片的方法。分享給大家供大家參考。具體分析如下:
采用php獲取文章內(nèi)容的第一張圖片方法非常的簡單,我們最常用的是使用正則了,感興趣的朋友可以參考一下下面這段代碼。
以下是關(guān)于選取文章中第一張圖片的代碼:
$obj=M("News"); $info=$obj->where('id=1')->find(); //方法1********* $soContent = $info['content']; $soImages = '~<img [^>]* />~'; preg_match_all( $soImages, $soContent, $thePics ); $allPics = count($thePics[0]); preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$thePics[0][0],$match); dump($thePics); if( $allPics> 0 ){ echo "<img src='".$match[1]."' title='".$match[1]."'>";//獲取的圖片名稱 } else { echo "沒有圖片"; } //************** $soContent = $info['content']; $soImages = '~<img [^>]* />~'; preg_match_all( $soImages, $soContent, $thePics ); $allPics = count($thePics[0]); dump($thePics); if( $allPics> 0 ){ echo $thePics[0][0]; //獲取的整個(gè)Img屬性 } else { echo "沒有圖片"; } //************** $soImages = '~<img [^>]* />~'; $str=$info['content']; preg_match_all($soImages,$str,$ereg);//正則表達(dá)式把圖片的整個(gè)都獲取出來了 $img=$ereg[0][0];//圖片 $p="#src=('|\")(.*)('|\")#isU";//正則表達(dá)式 preg_match_all ($p, $img, $img1); $img_path =$img1[2][0];//獲取第一張圖片路徑 if(!$img_path){ $img_path="images/nopic.jpg"; } //如果新聞中不存在圖片,用默認(rèn)的nopic.jpg替換 */ echo $img_path; //*************88 $str=$info['content']; preg_match_all("/<img.*\>/isU",$str,$ereg);//正則表達(dá)式把圖片的整個(gè)都獲取出來了 $img=$ereg[0][0];//圖片 $p="#src=('|\")(.*)('|\")#isU";//正則表達(dá)式 preg_match_all ($p, $img, $img1); $img_path =$img1[2][0];//獲取第一張圖片路徑 if(!$img_path){ $img_path="images/nopic.jpg"; } //如果新聞中不存在圖片,用默認(rèn)的nopic.jpg替換 */ echo $img_path;
php獲取文章html內(nèi)容第一張圖片地址
php實(shí)現(xiàn)獲取文章html內(nèi)容第一張圖片地址,示例采用正則表達(dá)式實(shí)現(xiàn),代碼僅供參考。也可以稍作修改即可獲取文章內(nèi)容中全部圖片地址,具體業(yè)務(wù)具體擴(kuò)展。
// 注意這個(gè)變量中img標(biāo)簽?zāi)┪驳募?xì)節(jié)變化 $str='<center> <img src="http://www.xxxx.com/1.jpeg"> <img src="http://www.xxxx.com/2.jpeg" > <img src="http://www.xxxx.com/3.jpeg"/> <img src="http://www.xxxx.com/4.jpeg" /> </center>'; echo get_html_first_imgurl($str); exit; /** * 獲取文章內(nèi)容html中第一張圖片地址 */ function get_html_first_imgurl($html){ $pattern = '~]*[\s]?[\/]?[\s]?>~'; preg_match_all($pattern, $html, $matches);//正則表達(dá)式把圖片的整個(gè)都獲取出來了 $img_arr = $matches[0];//全部圖片數(shù)組 $first_img_url = ""; if (!empty($img_arr)) { $first_img = $img_arr[0]; $p="#src=('|\")(.*)('|\")#isU";//正則表達(dá)式 preg_match_all ($p, $first_img, $img_val); if(isset($img_val[2][0])){ $first_img_url = $img_val[2][0]; //獲取第一張圖片地址 } } return $first_img_url; }
希望本文所述對大家的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP基于phpqrcode生成帶LOGO圖像的二維碼實(shí)例
這篇文章主要介紹了PHP基于phpqrcode生成帶LOGO圖像的二維碼,可實(shí)現(xiàn)生成帶logo與不帶logo兩種二維碼的功能,非常簡單實(shí)用,需要的朋友可以參考下2015-07-07php 靜態(tài)屬性和靜態(tài)方法區(qū)別詳解
這篇文章主要介紹了php 靜態(tài)屬性和靜態(tài)方法區(qū)別詳解,需要的朋友可以參考下2017-04-04PHP開發(fā)API接口簽名生成及驗(yàn)證操作示例
這篇文章主要介紹了PHP開發(fā)API接口簽名生成及驗(yàn)證操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了PHP開發(fā)API接口簽名生成及驗(yàn)證操作相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05php實(shí)現(xiàn)的mongodb操作類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的mongodb操作類,較為詳細(xì)的分析了php針對mongodb數(shù)據(jù)庫操作的各種常用技巧,并將其封裝進(jìn)一個(gè)完整的類文件中以便于調(diào)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04