极简版自建一言语句php

本文最后更新于 2024年1月31日,已超过 5 月没有更新,如果文章内容失效,请反馈给我们,谢谢!

查看效果:https://www.krjojo.com/resources/sentences/

这是hitokoto原版效果:https://v1.hitokoto.cn/

简直就是一模一样。

优点:

  • 文件都在本地服务器
  • 不依赖别人网站,高稳定性
  • 不依赖数据库
  • 可以自己修改语句包

缺点:

  • 性能有那么一丢丢下降

一言数据来自:https://github.com/hitokoto-osc/sentences-bundle

一言开源社区官方提供的语句库,系 hitokoto.cn 数据打包集合。

第一步

下载 语句库 全部 json 文件。

├── a.json
├── b.json
├── c.json
├── d.json
├── e.json
├── f.json
├── g.json
├── h.json
├── i.json
├── j.json
├── k.json
└── l.json

第二步

新建index.php文件:

<?php
// https://v1.hitokoto.cn/

$type_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'];
if (isset($_GET['c']) && !empty($_GET['c']) && in_array($_GET['c'], $type_list)) {
    $file = $_GET['c'] . ".json";
} else {
    $file = "all.json";
}

// 读取 JSON 文件内容
$jsonContent = file_get_contents('./' . $file);

// 解析 JSON 内容为数组
$array = json_decode($jsonContent, true);

// 从数组中随机选择一段文本
$randomText = $array[array_rand($array)];

// 设置响应头
header('Content-Type: application/json');

// 输出随机选中的文本
echo json_encode($randomText);

?>

第三步

把所有 json 文件合并成一个 all.json 文件,当然我也整理了。

可以直接下载。

https://www.krjojo.com/resources/sentences/all.json

第四步

最后新建一个文件夹把所有文件包起来,文件名字随意,放在站点根目录。

目录下应该为:

新建文件夹的名字
├── a.json
├── all.json
├── b.json
├── c.json
├── d.json
├── e.json
├── f.json
├── g.json
├── h.json
├── i.json
├── index.php
├── j.json
├── k.json
└── l.json

最后访问你的站点: www.example.com/新建文件夹的名字

如果不能正常访问则试试: www.example.com/新建文件夹的名字/index.php

说明

请求参数支持句子类型,与一言官方一致,不传则默认全部类型,如:

example.com/?c=a

句子类型(参数)

参数说明
a动画
b漫画
c游戏
d文学
e原创
f来自网络
g其他
h影视
i诗词
j网易云
k哲学
l抖机灵
其他作为 动画 类型处理

完毕

© 版权声明
分享是一种美德,转载请保留原链接
THE END

文章不错?点个赞呗
点赞 0 分享

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

2人评论了“极简版自建一言语句php”

滚动至顶部