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自带编辑器,以及现在这个博客的编辑器
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。