xvmqC1Ye - 0天前注册会员;
mbtdr3ev - 5天前注册会员;
3n44fZgo - 24天前注册会员;
73n5lsCR - 38天前注册会员;
NaZ2pUfG - 47天前注册会员;
加入我们(63 )

typecho插件输出最新文章带图片链接

由于对接小程序需要,就自己研究了一下,大概代码如下

/**
        *获取最新三条文章
        *pageSize为调用的条数
        **/

        /*因为输出json的原因,最后一个,要去掉,所以给个固定值需要和调用的条数一样*/
        $num = 3;

        $obj = Typecho_Widget::widget('Widget_Contents_Post_Recent','pageSize='.$num);

        /*正则匹配第一个图片链接*/
        function imgurl($data){
            $isMatched = preg_match('/(?<=\: |\]\()(http:|https:){1}(\/\/){1}((?!\\\").)*?.(jpg|jpeg|png|gif|bmp)/', $data, $matches);
            if(empty($matches[0])){
                return "无图片";
            }else{
                return $matches[0];
            }

        }

        /*输出格式为json*/
        $i = 1;
        echo '[{"data": [';
        if($obj->have()){
            while($obj->next()){
                if($i==$num){
                    echo '{';
                    echo '"title":"'.$obj->title.'",';
                    echo '"permalink":"'.$obj->permalink.'",';
                    echo '"imgurl":"'.imgurl($obj->text).'"';
                    echo '}';
                }else{
                    echo '{';
                    echo '"title":"'.$obj->title.'",';
                    echo '"permalink":"'.$obj->permalink.'",';
                    echo '"imgurl":"'.imgurl($obj->text).'"';
                    echo '},';
                }
                $i++;
            }
        }
        echo ']}]';

输出的是按照json的格式,然后原理是这样,如果有大佬优化,可以优化一下(麻烦大佬优化后评论一下,我想参考一下)

获取图片链接目前是适配了,typecho自带编辑器,以及现在这个博客的编辑器

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。