php實現(xiàn)獲取文章內(nèi)容第一張圖片的方法
本文實例講述了php實現(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]; //獲取的整個Img屬性 } else { echo "沒有圖片"; } //************** $soImages = '~<img [^>]* />~'; $str=$info['content']; preg_match_all($soImages,$str,$ereg);//正則表達(dá)式把圖片的整個都獲取出來了 $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á)式把圖片的整個都獲取出來了 $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實現(xiàn)獲取文章html內(nèi)容第一張圖片地址,示例采用正則表達(dá)式實現(xiàn),代碼僅供參考。也可以稍作修改即可獲取文章內(nèi)容中全部圖片地址,具體業(yè)務(wù)具體擴(kuò)展。
// 注意這個變量中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á)式把圖片的整個都獲取出來了 $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è)計有所幫助。
相關(guān)文章
php 靜態(tài)屬性和靜態(tài)方法區(qū)別詳解
這篇文章主要介紹了php 靜態(tài)屬性和靜態(tài)方法區(qū)別詳解,需要的朋友可以參考下2017-04-04