php实现获取文章内容第一张图片的方法
admin
2022-06-03 11:47
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
本文实例讲述了php实现获取文章内容第一张图片的方法。分享给大家供大家参考。具体分析如下:
采用php获取文章内容的第一张图片方法非常的简单,我们最常用的是使用正则了,感兴趣的朋友可以参考一下下面这段代码。
以下是关于选取文章中第一张图片的代码:preg_match
$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.+class="lazy" data-src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',$thePics[0][0],$match);
dump($thePics);
if( $allPics> 0 ){
echo "<img class="lazy" data-src='".$match[1]."' title='".$match[1]."'>";//获取的图片名称
}
else {
echo "没有图片";
}
/
echo $img_path;
/
echo $img_path;
php获取文章html内容第一张图片地址
php实现获取文章html内容第一张图片地址,示例采用正则表达式实现,代码仅供参考。也可以稍作修改即可获取文章内容中全部图片地址,具体业务具体扩展。
// 注意这个变量中img标签末尾的细节变化
$str='<center>
<img class="lazy" data-src="http://www.xxxx.com/1.jpeg">
<img class="lazy" data-src="http://www.xxxx.com/2.jpeg" >
<img class="lazy" data-src="http://www.xxxx.com/3.jpeg"/>
<img class="lazy" data-src="http://www.xxxx.com/4.jpeg" />
</center>';
echo get_html_first_imgurl($str);
exit;
function get_html_first_imgurl($html){
$pattern = '~]*[s]?[/]?[s]?>~';
preg_match_all($pattern, $html, $matches);//正则表达式把图片的整个都获取出来了
$img_arr = $matches[0];//全部图片数组
$first_img_url = "";
if (!empty($img_arr)) {
$first_img = $img_arr[0];
$p="#class="lazy" data-src=('|")(.*)('|")#isU";//正则表达式
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;
}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341