当前位置: 首页 > 工具软件 > Z-BlogPHP > 使用案例 >

「CSDN 专属」2022 年 Z-BlogPHP 如何获取第一张图

彭飞虎
2023-12-01

网上一直流传着一个提取图片的正则,很可惜它是错误的:

// 错误的
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";

姑且可以这么写:

// 虽然限定了图片要有后缀
$pattern = "/<img[^>]*src=\"([^\"]+\.(gif|jpg|png|jpeg|jpe|bmp|webp))\"[^>]*>/i";

在 1.7 版本开始,Z-BlogPHP 增加了提取图片并进行裁切的功能;

zb_system/function/lib/base/post.php::__get() ← 在该路径函数中可以看到文章类支持的属性获取;

其中$post->AllImages可以获取文章内的图片,返回的是一个数组;

另有$post->ImageCount返回图片数量;

// 定义一个默认的图片地址,甚至可以在一组中随机取一张
$DefIMG = "……";
// 判断文章内是否有图,返回第一张或默认
$FistIMG = $post->ImageCount > 0 ? $post->AllImages[0] : $DefIMG;

上边获取到的是原始图片;

zb_system/function/lib/base/post.php::Thumbs() ← 这个函数则用来获取缩略图;

该函数接受四个参数,依次为:(宽, 高, 数量, 是否裁切),返回值为数组;

// 获取三张缩略图,尺寸为 640 x 360
$Thumbs = $post->Thumbs(640, 360, 3, true);

Thumbs()内有一个接口Filter_Plugin_Post_Thumbs,可以用于实现无图时回落至默认图之类的效果;


· 相关推荐

【备忘】Z-BlogPHP 使用随机图片 API 设置缩略图_沉冰浮水的博客-CSDN 博客:

https://wdssmq.blog.csdn.net/article/details/124233817

「水坑」关于 Z-BlogPHP 1.7 缩略图的一些记录_沉冰浮水的博客-CSDN 博客:

https://wdssmq.blog.csdn.net/article/details/125266053

 类似资料: