给网站增加“每天60s读懂世界”的方法

2023年04月20日 3644 27

你和这个世界,只差60秒!

参考自冷筱宇的小窝

效果展示

点击查看→60秒看世界

图片调用(三方接口)

新建文章或独立页面,加入以下代码即可。(位置、样式等自行调整)

<img src="https://api.03c3.cn/api/zb" />

API调用(三方接口)

header("content-type:image/jpg");
echo file_get_contents(json_decode(file_get_contents("https://api.03c3.cn/api/zb"))->imageUrl);

原生调用(知乎接口)

https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items

修改functions.php

function getZhihuContent() {
    $url = "https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items";
    
    // 初始化 cURL 会话
    $ch = curl_init($url);
    
    // 设置 cURL 选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    // 执行 cURL 请求并获取返回的数据
    $response = curl_exec($ch);
    
    // 检查是否有错误发生
    if(curl_errno($ch)){
        echo 'Curl 错误:' . curl_error($ch);
    }
    
    // 关闭 cURL 会话
    curl_close($ch);
    
    // 解码 JSON 数据
    $data = json_decode($response, true);
    
    // 获取"data"数组下标为0的"content"内容并输出
    if(isset($data['data'][0]['content'])){
        $content = $data['data'][0]['content'];
        
        // 正则表达式,用于匹配第一个img标签中的data-original属性值
        $pattern = '/<img[^>]*\sdata-original="([^"]*)"[^>]*>/i';
        $headPic = 'https://www.03c3.cn/zb/H.php';
        if (preg_match($pattern, $content, $matches)) {
            $headPic = $matches[1];
        }
        
        // 删除a标签及其内容
        $content = preg_replace('/<a(.*?)<\/a>/', '', $content);
        // 删除img标签及其内容
        $content = preg_replace('/<img(.*?)>/', '', $content);
        // 删除figure标签及其内容
        $content = preg_replace('/<figure(.*?)<\/figure>/', '', $content);
        echo '<p style="text-align:center"><img src="'.$headPic.'"/></p>'.$content;
    } else {
        echo "未找到内容";
    }
}

调用方式

<?php  getZhihuContent(); ?>
Typecho每天60s读懂世界

相关文章

Typecho如何添加FriendCircle友链朋友圈
Akina For Typecho主题修改记录分享
回到小时候 - 快来参加小学语文考试

评论(27)

  1. 您好博主,请问require('phpQuery/phpQuery.php');这个文件typecho博客里没有,直接调用以上代码无效。

      1. @Chrison 你好博主 经测试目前可用,但是日期数据是昨天的,差了一天,另外希望调取的是文字,不希望是图片,如果图片直接就行了😁

        1. @didiao 我刚才回复了,没收到?第一种是图片版,最后一种是文字版。另外,作者停更了,已经没有最新的数据了。也就是说,每天60秒,以后没有了😂具体见通知:https://www.zhihu.com/people/mt36501

  2. 你这个菜单栏上面 更多、虫洞这两个字前面有个图标,咋改的,不如出个你修改这个主题的教程吧,我觉得你改的很完善

    1. @YCP 你网站是什么?看看改了哪些?我网站除了原主题的,其他的图标,都来自阿里图标库https://www.iconfont.cn/,然后在主题设置中引用css文件,搭配class名称就行了,阿里上也有使用方法

      1. @Chrison 我网站是pinecut.cn,因为原主题功能有点少嘛。除了这个图标还有:主页头像下面我会看到一个欢迎回来YCP这一行字,还有主页左下角会显示我4小时前留下一条评论,还有主页聚焦上面有一个应该是最近评论吧,那一行。就这些了,我也想学者改改

          1. @Chrison 评论也写不下,发布了一篇文章,并没有全部更新出来,你先看一部分吧。https://blog.chrison.cn/work/248.html

  3. 挺好的,加上广告有小钱钱赚了,屏蔽的挺好没看见不对劲的广告

发布评论