78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

【亲测可用】zblog调用文中第一张图片作为缩略图的方法

昨天更新了主题模板,网友反馈说文章插入视频之后会出现错版,网站整个都是乱的,随后看了下源代码,没什么太大问题,就是缩略图调用的时候出现了问题,错误的抓取了mp4格式的文件,然后去查看缩略图插件代码,发现没什么问题,再仔细对照官方给出的代码,确定是没有问题了,但是文章视频放在首位就是各种出错,一时间陷入了尴尬的局面。

没办法了只好暂时删除了位于head里的360搜索出图的代码,暂时解决错位问题,但是我在本地测试的时候,问题还是文在,比如无法生成海报,因为获取的还是mp4的文件,根据网友反馈直接在文章上传视频的时候就没有问题,外链的mp4(不仅仅mp4基本视频类都如此)文件就不行,再一次陷入僵局。。。

内心慌得一批,搞什么鬼,代码官方给的不可能出错(我还是太天真,太信任官方了),然后群里求助,自己又测试了几款其他主题,基本都是这个BUG,最后测试@橙色阳光大神的主题才拨云见日,豁然开朗啊,问题就出现在官方代码的正则表达式,修改之后如下:

完整版代码如下:

//默认缩略图

function 主题ID_firstimg($article) {

    global $zbp;

    $randnum = mt_rand(1,9);

    $pattern = "/<img.*?src=['|"](.*?)['|"].*?[/]?>/i";

    $content = $article->Content;

    preg_match_all($pattern,$content,$matchContent);

    if (isset($matchContent[1][0])) {

        $temp = $matchContent[1][0];

    } else {

        $temp = $zbp->host."zb_users/theme/主题ID/style/noimg/" . $randnum . ".jpg";

    }

    return $temp;

}

 这代码就是获取文中第一张图片,如果文中没有图片则随机显示一张照片,随机照片需要在style目录下新建一个noimg文件夹,然后自己设置1-9张图片,后缀是.jpg,例如(1.jpg,2.jpg等)。

如果您的站已经有代码,那么需要替换下源代码,如果无效最好重新启用下其他主题,然后在切换正常使用的主题即可。

查找

点击复制代码 PHP

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

替换成

点击复制代码 PHP

$pattern = "/<img[^>]*src="([^"]+.(gif|jpg|png|jpeg|jpe|bmp|webp))"[^>]*>/i";

保存,然后重新启用主题,清空缓存编译,前台刷新,一切回归正常~~~

PS:主题模板均已修复请等待更新。

本文链接:http://78moban.cn/post/6102.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部