随机段子api php,给博客添加一个名言段子语句随机播放的功能(集成Hitokoto)

之前浏览张戈的博客,发现他的文章页点赞下方有个很有意思的东西,一列显示一段句子,刷新一下会重新生成另外一个,主要包含段子、台词等有意思的话。

ca282094f82b6a6c0936b1d0e6e61a96.png

余斗的博客不少内容都是参考张戈博客,虽然发现这个有趣的玩意很久了,却一直没有拷贝到我的博客里来,趁着最近不是太忙,研究了一下,把这个名言段子语句随机播放的功能研究透彻。

接下来就教大家如何实现这个名言段子语句随机播放的功能,这个功能的实现是集成Hitokoto的,Hitokoto·一言是一个挺有意思的项目,官方的自我介绍如下:

一言网(Hitokoto.cn)创立于2016年,隶属于萌创Team,目前网站主要提供一句话服务。

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。

或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

官方已经把接口都做好了,可以直接拿来用,在我们需要展示句子的地方加入以下代码:

这里不好之处在于,扩展性极差,我们无法自定义句子。所以,最好还是把全部功能移植过来,自己DIY这个功能,方法如下:

1、新建一个名为index.php的文件,php代码如下:

//获取句子文件的绝对路径

//如果你介意别人可能会拖走这个文本,可以把文件名自定义一下,或者通过Nginx禁止拉取也行。

$path = dirname(__FILE__);

$file = file($path."/hitokoto.txt");

//随机读取一行

$arr = mt_rand( 0, count( $file ) - 1);

$content = trim($file[$arr]);

//编码判断,用于输出相应的响应头部编码

if(isset($_GET['charset']) && !empty($_GET['charset'])) {

$charset = $_GET['charset'];

if(strcasecmp($charset,"gbk") == 0) {

$content = mb_convert_encoding($content,'gbk', 'utf-8');

}

} else{

$charset = 'utf-8';

}

header("Content-Type: text/html; charset=$charset");

//格式化判断,输出js或纯文本

if($_GET['format'] === 'js') {

echo "function hitokoto(){document.write('" . $content ."');}";

} else{

echo $content;

}

将此文件上传到网站根目录下的hitokoto文件夹(这个自己随机定义)最后,从官方分享的文章库下载hitokoto.txt文本文件,地址传送门:https://pan.baidu.com/s/1hsD1XRI

把hitokoto.txt上传到和index.php同级目录,比如hitokoto文件夹内。然后在浏览器访问 http://你的域名/hitokoto/就可以看到输出内容了。

此时就完成第一部,随机调用句子了。

2、在我们需要显示句子的位置加上如下代码:

这里我们并未定义css样式,显示出来比较丑,自己会css语言的站长可以自己写css代码进行美化,不会的也没关系,余斗分享自己的css代码:

#hitokoto{

border-left: 5pxsolid #2f889a;

border-right: 5pxsolid #2f889a;

background-color: #ebebeb;

padding: 10px;text-align: center;

color: #095AD4;

margin: 5px 0 5px 0;

}

以上部署完成后,在网站前台刷新应该就可以看到效果了,每次刷新都会随机展示一言经典句子。

c1d3c680502b479db6349a4ab1bd7b57.png

余斗博客文章页效果

如果你有新的句子,也只要编辑hitokoto.txt文件加入即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实践分享丨构建云上私有池(虚拟IDC)的5种方案详解

简介: 云上私有池系列终篇终于来了,本文将重点介绍构建云上的私有池(虚拟IDC)的多种方案和各自的优缺点,并给出相关的性价比优化建议。 本文作者:阿里云技术专家李雨前 摘要 围绕私有池(虚拟…

2021云栖大会开源引力峰会发布的战略合作,Grafana服务到底是什么?

简介: 这几天关注云栖大会的小伙伴一定会发现阿里巴巴合伙人、阿里云高级研究员蒋江伟(小邪)在云栖大会开源引力峰会的演讲中,特别提到了一个叫 Grafana 服务的产品,并特意花费一页 PPT 介绍了这一次合作。到底是一个什…

因为一个循环,CPU搞了个新技术

作者 | 轩辕之风O 来源 | 编程技术宇宙 好久不见,我叫阿Q,是CPU一号车间的员工。我所在的CPU有8个车间,也就是8个核心,咱们每个核心都可以同时执行两个线程,就是8核16线程,那速度杠杠滴。 我所在的一号车间…

AI圈内卷?天池团聚请来专家集体“问诊”

简介: 近期杭州云栖大会上出现了一个“数据博物馆”,最吸引眼球的“展品”,竟是行业大规模开源数据集。不仅数量多达上百个,还覆盖零售、文娱、工业、医疗、自然科学等数十个行业。既有来自真实业务场景的商品数据,也不…

2021双11上云狂欢节 | 爆款产品底价全面开售

一年一度的双11狂欢节终于来啦!怎样用最少的钱获得最多的福利?下面这份攻略收藏好,这波活动快冲! 双11主会场:http://click.aliyun.com/m/1000304310/ 01 领取双11上云加油包 阿里云官网已实名认证的注册会员用户皆可…

针对场景化痛点,锐捷网络推出极简光 2.X,以太全光网再下一城

极简光 2.X 方案,旨在针对各行业的需求和痛点找到更合适的解法,为各行业的客户呈现更为适配的新产品。 出品 | CSDN云计算 光进铜退趋势之下,全光网在快速发展。 不过,更进一步在各个行业技术实施中,用户的痛点则多种多…

轻博客框架 php,DouPHP轻博客 v1.6 Release 20200925

DouPHP轻博客系统,基于PHPMYSQL架构的,可以使用它快速搭建一个博客系统。DouPHP轻博客系统功能特点操作简单后台简约明了,从使用者而不是开发者的角度出发设计后台功能布局,完全不需要使用手册就可以轻松进行日常内容编辑工作。功…

阿里云GanosBase升级,发布首个云孪生时空数据库

简介: GanosBase是李飞飞带领的达摩院数据库与存储实验室联合阿里云共同研发的新一代位置智能引擎;本次重磅升级为V4.0版本,推出首个云孪生时空数据库。 作者 | 谢炯 来源 | 阿里技术公众号 导读: GanosBase是李飞飞带领的达摩院…

演进实录|不同阶段的企业如何搭建监控体系?

简介: 企业业务发展越来越迅速,对 IT 的要求也愈发严苛且复杂。这不仅仅体现在运维团队架构与工作流程上,也体现在工具选型与平台搭建上。 今天我们好好聊一下工具选型与平台搭建思路与实践关键点。来看看阿里云会给出如何的最佳实践&#xf…

用过留痕,谁动了我的档案?

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动,寻访一百零一个数字化转型场景,聚合呈现并开通评选通道&#xff0…

php在线考试系统模板下载,PHPEMS在线模拟考试系统 v6.1

PHPEMS在线模拟考试系统主要用于构建在线考试系统,如驾照、英语等练习系统。一、系统功能:1、强化训练测验,对知识点进行单独联系2、随机组卷练习,系统自动抽取题目进行练习3、手工组卷联系,通过教师平台手工组卷形成考…

媒体声音|阿里云数据库:一站式全链路数据管理与服务,引领云原生2.0时代

简介: 引领云原生数据库技术持续创新 这几年,云原生已成为阿里云的另一个标签,不仅最早布局云原生技术,拥有大量客户实践,更打造出丰富的云原生产品家族。尤其是数据库产品线,已进入云原生2.0阶段&#xf…

数据增长浪潮下,PCIe 6.0的问与Rambus的答

作为历史上使用最广泛、可扩展性最强的互联技术,PCIe标准自21世纪初正式创立以来,它便一直作为数据中心和计算应用芯片间数据传输的行业标准而存在。而在近几年间,随着全球数据量的爆发式增长,PCIe标准的更迭自3.0到4.0的“七年之…

阿里巴巴首席技术官程立:我们相信并正在践行的“好科技”

简介: 10月21日,阿里巴巴集团首席技术官程立出席2021年云栖大会技术*可持续发展论坛,并发表《科技创新和未来生活》的主题演讲,谈及科技创新的价值,以及阿里巴巴相信并正在践行的“好科技”,本文是程立的分…

Serverless 架构模式及演进

简介: Serverless 架构从使用技术上有计算,数据存储,消息通信,我们可从运维性,安全性,可靠性,可扩展性,成本几个角度来衡量架构的优劣。本文会介绍一些常见的业务场景,探…

Kubernetes 的自动伸缩你用对了吗?

作者 | AddoZhang来源 | 云原生指北本文翻译自 learnk8s 的 Architecting Kubernetes clusters — choosing the best autoscaling strategy[1],有增删部分内容。TL;DR: 在默认设置下,扩展 Kubernetes 集群中的 pod 和节点可能需要几分钟时间。了解如何调…

贾扬清谈云原生-让数据湖加速迈入3.0时代

简介: 摘要:2021云栖大会云原生企业级数据湖专场,阿里云智能高级研究员贾扬清为我们带来《云原生--让数据湖加速迈入3.0时代》的分享。 摘要:2021云栖大会云原生企业级数据湖专场,阿里云智能高级研究员贾扬清为我们带…

一张图教你玩转阿里云双11上云狂欢节

一年一度的双11狂欢节已经开启啦!下面一张图教你如何玩转阿里云双11上云狂欢节! 双11主会场地址:http://click.aliyun.com/m/1000305076/

写时复制就这么几行代码,还是不会?

‍作者 | 闪客来源 | 低并发编程这里讲的是 Linux 内核里的写时复制原理。写时复制的原理网上讲述的文章很多,今天来一篇很直接的文章,通过看看 Linux 0.11 这个最简单的操作系统,从源码层面把写时复制的原理搞清楚。很简单哦,你可…

划重点|iOS15正式发布, 全新的通知推送系统,你必须要知道

简介: 今年友盟联合达摩院决策智能实验室讲算法技术,推出国内首个智能推送功能,帮助产品运营人员实现一键式触达的精细化运营。通过精心打磨的在线学习与优化算法,对推送人群与推送文案进行精准匹配,最大化用户点击量。…