本文實例講述了php實現獲取文章內容第一張圖片的方法。分享給大家供大家參考。具體分析如下:
采用php獲取文章內容的第一張圖片方法非常的簡單,我們最常用的是使用正則了,感興趣的朋友可以參考一下下面這段代碼。
以下是關於選取文章中第一張圖片的代碼:
復制代碼 代碼如下:$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);//正則表達式把圖片的整個都獲取出來了
$img=$ereg[0][0];//圖片
$p="#src=('|\")(.*)('|\")#isU";//正則表達式
preg_match_all ($p, $img, $img1);
$img_path =$img1[2][0];//獲取第一張圖片路徑
if(!$img_path){
$img_path="images/nopic.jpg";
} //如果新聞中不存在圖片,用默認的nopic.jpg替換 */
echo $img_path;
//*************88
$str=$info['content'];
preg_match_all("/<img.*\>/isU",$str,$ereg);//正則表達式把圖片的整個都獲取出來了
$img=$ereg[0][0];//圖片
$p="#src=('|\")(.*)('|\")#isU";//正則表達式
preg_match_all ($p, $img, $img1);
$img_path =$img1[2][0];//獲取第一張圖片路徑
if(!$img_path){
$img_path="images/nopic.jpg";
} //如果新聞中不存在圖片,用默認的nopic.jpg替換 */
echo $img_path;
希望本文所述對大家的PHP程序設計有所幫助。