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); //开源软件:Vevb.com
- 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;
新闻热点
疑难解答