Hitokoto·一言是什么?
官方的自我介绍如下:
[v_warn]
一言网(Hitokoto.cn)创立于2016年,隶属于萌创Team,目前网站主要提供一句话服务。
动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。
简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。
或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。
[/v_warn]
效果图:
一、直接调用他人的接口
数据获取
- 请求地址:https://api.lwl12.com/hitokoto/main/get
- 请求方式:GET
- 请求参数:
- charset:字符集,支持gbk/utf-8,默认为utf-8
- encode数据格式,对应如下
- js返回函数名为lwlhitokoto的JavaScript脚本,用于同步调用
- arl:刷新时间,单位ms
实例
请求https://api.lwl12.com/hitokoto/main/get
返回 呐,知道么,樱花飘落的速度,是每秒五厘米哦~
调用举例 – JavaScript + HTML
脚本地址https://api.lwl12.com/hitokoto/main/get?encode=js
使用方法
将下面这段代码放入页面内需要展示一句话的位置即可
<script type="text/javascript" src="https://api.lwl12.com/hitokoto/main/get?encode=js&charset=utf-8"></script><div id="lwlhitokoto"><script>lwlhitokoto()</script></div>
二、自己DIY部署
<?php //获取句子文件的绝对路径 //如果你介意别人可能会拖走这个文本,可以把文件名自定义一下,或者通过Nginx禁止拉取也行。 $path = dirname(__FILE__); $file = file($path."/yiyan.txt"); //随机读取一行 $arr = mt_rand( 0, count( $file ) - 1 ); $content = trim($file[$arr]); //编码判断,用于输出相应的响应头部编码 if (isset($_GET['charset']) && !emptyempty($_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; }
以上代码保存为index.php,然后上传到网站根目录下的yiyan文件夹(这个自己随机定义)最后,下载yiyan.txt文本文件。
[url href=https://eyun.baidu.com/s/3o7RkIhW]提取码:laod[/url]
把yiyan.txt上传到和index.php同级目录,比如yiyan文件夹内。
现在,浏览器访问 http://你的域名/yiyan/ 就可以看到输出内容了。
三、博客部署
第一步我们已经完成了这个接口的自建部署,现在可以把这个功能搬到博客上了。
部署方法和其他博客基本一致,非常简单,将下面两行代码添加到博客你想显示一言的位置即可:
- <script type=“text/javascript” src=“https://你的域名/yiyan/?format=js&charset=utf-8”></script>
- <div id=“yiyan”><script>hitokoto()</script></div>
这样输出的样式可能会比较丑,如果你懂CSS的话可以自己再美化美化。
当然,Begin主题或者不会css的朋友可以先试下我这边写好的css代码(可以加到style.css):
- #yiyan{
- border-left: 5px solid #0073d8;
- border-right: 5px solid #0073d8;
- background-color: #3288d31a;
- padding: 10px;text-align: center;
- color: #0073d8;
- margin: 5px 0 5px 0;
- }
部署完成之后,前台刷新应该就可以看到效果了,每次刷新都会随机展示一言经典句子。如果你有新的句子,也只要编辑hitokoto.txt文件加入即可。
四、Begin主题添加js文件
可能用Begin主题的童鞋不懂添加到那里,正好我也用这个主题,那么直接贴出来,或许可以减少你不少时间。
老D直接插到 begin/template/social.php 如下图所示:
弄完之后记得刷新缓存,不然你短时间内是看不到效果的哦,启用CDN的童鞋请也要记得给排除下这个路径缓存。
至于别的主题你就慢慢找了,这个功能适用于绝大多数博客、网站、论坛。
原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/4194.html
评论列表(17条)
感谢laod分享!在自己部署的时候发现一个问题。。
在JS上添加src=”https://你的域名/yiyan/?format=js&charset=utf-8″ 的时候发现有问题
报了这个错误:Fatal error: Call to undefined function emptyd() in /www/wwwroot/wp/yiyan/index.php on line 10
找了一下发现是本页面index.php里的第十二行代码的empty()函数写成了emptyempty():
if (isset($_GET[‘charset’]) && !emptyempty($_GET[‘charset’])) {
修改后就正常了!
好东西
多少人看不懂?
收藏了琢磨一下,
看哪天能不能用在自己的博客上
哈哈 可以拿去做博客页尾小东东了
我是在微信上看到你的推文的,嘿嘿,今晚回去我也给我小博客弄下
虽然有点看不懂,但是感觉很厉害的样子 :mrgreen:
魔高一尺道高一丈,hosts一定会复活
给顶一个。
这个好!
为啥有些页面死活登入不上
终于注册成功,同时也感谢老D的技术分享
这个是干什么用的?
老大,我只想问一下,放弃google了吗? ::>_<::
@withmejjthing:没有
hosts 最新的再哪里下载更新呀?
@guoliang:等待吧,都不容易