获取微信公众号文章封面图

一个渣渣PHP自学者 2021-07-09 PM 153℃ 2条

一个小老弟需要这个功能 然后就抽空写了一个,很简单,直接上代码了。

先看图

请输入图片描述
请输入图片描述

下面就是代码了

<?php
header("Content-type: text/html; charset=utf-8");
class Wechat
{
    public function fmt($url)
    {
        $data = $this->get_url($url);
        # 正则
        preg_match_all('/<meta property="twitter:image" content="(.*?)" \/>/U', $data, $wechat_fmt); 
        return $wechat_fmt[1][0];
    }
    public function get_url($url)
    {
        # 初始化curl()
        $ch = curl_init();
        # 设置curl
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, false);
        # 要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        # 规避SSL验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        # 跳过HOST验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

        # 运行curl
        $data = curl_exec($ch);
        curl_close($ch);
        # 中文转码
        $data = mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');
        return $data;
    }
}

$wechat_fmt = new Wechat();

# 不带头部信息
$url = $_GET['wechatUrl'];
$arr = $wechat_fmt->fmt($url);
$arr = $arr ?? 'https://i.b2b168.com/images/2021/gjfz20210319.jpg';
echo "<p><a href=" . $arr . " target='_blank'>访问图片地址</a><br>" . $arr . "</p>";
echo "<img src=" . $arr . ">";

使用方法:
域名/wechat.php?wechatUrl=公众号文章链接

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 2 条评论


  1. 初心

    大哥牛逼

    回复 2021-07-10 11:10
    1. 木木木

      啊哈哈哈

      回复 2021-07-10 18:14