什么是一言
相信大家都有或曾经有过自己的摘抄本。「一言」就好似一个公开的摘抄本,我们在此记录那些让人感怀的,让人振奋的,让人感动的,让人一眼就有所感触的短句,并通过公共 API 的形式使你能够在自己的项目中调用它们。
自己用了好一段时间了,觉得还不错。下面简单的介绍下如何部署一个属于自己的一言API 接口。
部署接口
将下面的代码保存为 index.php
,然后上传到网站根目录下的 hitokoto
文件夹(这个自己随机定义)最后,从小霖分享的文章 hitokoto.txt 文本文件 。这里也提供一份喵斯基的备份文件:点此下载
<?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.txt
上传到和 index.php
同级目录,比如 hitokoto
文件夹内。
现在,浏览器访问 http://你的域名/hitokoto/
就可以看到输出内容了。
调用方法
第一步我们已经完成了这个接口的自建部署,现在可以把这个功能搬到博客上了。将下面两行代码添加到博客你想显示一言的位置即可:
<script type="text/javascript" src="https://你的域名/hitokoto/?format=js&charset=utf-8"></script>
<div class="hitokoto"><script>hitokoto()</script></div>
如果你懒得自己部署接口,这里推荐使用 LWL12 的接口,直接将下面的代码添加到需要显示的位置即可。
<script type="text/javascript" src="https://api.lwl12.com/hitokoto/v1?encode=js&charset=utf-8"></script>
<div class="hitokoto"><script>hitokoto()</script></div>
懂 CSS 的话可以自己再美化美化。也可以直接用我这边写好的 css 代码(可以加到 style.css
):
.hitokoto {
padding: 5px;
border: 1px dashed #ccc;
}
相关推荐
- 群晖NAS | PHP如何添加Acpu/Redis/Memcached等扩展?
- 给typecho的PHP版本升级至7.2
- ONMP安装使用教程
- CRZ.im:一款简洁的开源短链接程序,带源码安装教程
- 短链接程序YOURLS安装配置与设置中文
- 优雅简洁的Flarum论坛系统搭建教程
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/765.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。