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安裝php_rar擴(kuò)展實(shí)現(xiàn)rar文件讀取和解壓的方法
這篇文章主要介紹了php安裝php_rar擴(kuò)展實(shí)現(xiàn)rar文件讀取和解壓的方法,涉及php擴(kuò)展組件的安裝與使用相關(guān)操作技巧,需要的朋友可以參考下2016-11-11
php+mysqli實(shí)現(xiàn)批量替換數(shù)據(jù)庫表前綴的方法
這篇文章主要介紹了php+mysqli實(shí)現(xiàn)批量替換數(shù)據(jù)庫表前綴的方法,涉及針對mysql數(shù)據(jù)庫的遍歷與表名修改等操作技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例
這篇文章主要介紹了php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能,以一個(gè)完整實(shí)例形式詳細(xì)分析了實(shí)現(xiàn)點(diǎn)贊功能中涉及的html頁面、Ajax功能及php方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01
PHP基于redis計(jì)數(shù)器類定義與用法示例
這篇文章主要介紹了PHP基于redis計(jì)數(shù)器類定義與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了php定義的redis計(jì)數(shù)器類及其相關(guān)使用技巧,需要的朋友可以參考下2018-02-02
一個(gè)簡潔實(shí)用的PHP緩存類完整實(shí)例
這篇文章主要介紹了一個(gè)簡潔實(shí)用的PHP緩存類完整實(shí)例,緩存的應(yīng)用對于php大型項(xiàng)目的開發(fā)來說至關(guān)重要,需要的朋友可以參考下2014-07-07
php使用function_exists判斷函數(shù)可用的方法
這篇文章主要介紹了php使用function_exists判斷函數(shù)可用的方法,通過一個(gè)圖像處理函數(shù)中使用function_exists函數(shù)判斷并輸出來實(shí)現(xiàn)函數(shù)存在判斷與流程靈活控制的功能,具有很好的借鑒價(jià)值,需要的朋友可以參考下2014-11-11

