网络技术爱好者的栖息之地,让我们的技术更上一层楼!

Emlog模板添加每日60秒读世界独立页面

小编 建站知识

最近看各个站点都有的每日六十秒读世界的文章或者页面,大多数实现方式大致两种:一种是emlog中相关的插件或者采集,此方法虽然配置简单、方便,但是这个采集文章内容具有很强的时效性,需要每日定时访问触发采集才能发布文章;

一种是直接引用别人的六十秒读世界的api,此方法最大的优点是不用设置采集和发布大量文章,但是形式是仅仅的一张图片,这就过于简单的了,那有还有比前两种更好点又不太简单的实现方式?,答案有是有的,其实就是将接口写在主题中。

实现方式

1.在模板主题的module.php文件添加以下函数

<?php
//独立页面-每日60秒
function luyu_sixtys(){ 
$date = file_get_contents("https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items");
$date = json_decode($date);
$content = $date->data[0]->content;
$content = preg_replace('/(<a.*?>[\s\S]*?<\/a>)/','',$content);
$pattern ='<img.*?src="(.*?)">';
preg_match($pattern,$content,$matches);
$src_path = $matches[1];
$src = imagecreatefromstring(file_get_contents($src_path));
$info = getimagesize($src_path);
$x = 0;
$y = 0;
$width = 720;
$height = 350;
$final_width = 720;
$final_height = round($final_width * $height / $width);
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
$ext = pathinfo($src_path, PATHINFO_EXTENSION);
$rand_name = date("Ymd") . "." . $ext;
$url= BLOG_URL;
if (!file_exists("content/uploadfile/60s")){
    mkdir ("content/uploadfile/60s",0777,true);
}
imagejpeg($new_image,"content/uploadfile/60s/".$rand_name);
imagedestroy($src);
imagedestroy($new_image);
$content = strip_tags($content,'<p>');
$content = '<img class="" src="'.$url.'/content/uploadfile/60s/'.$rand_name.'" />'.$content;
  return $content;
};
?>

2.在自己使用的模板创建独立页面,以60s.php为例,根据各自的主题在文章内容部分添加调用显示。

<?php echo luyu_sixtys()?>

标签: 暂无标签
Emlog模板添加每日60秒读世界独立页面-第3张插图 Emlog模板添加每日60秒读世界独立页面-第4张插图

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:995113774@qq.com

同类推荐
评论列表
图片评论介绍

最新评论
热门文章
随机推荐