Hitokoto——一言经典语句

什么是Hitokoto

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

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

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。
或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

如何调用

https://v1.hitokoto.cn/(从7种分类中随机抽取)

https://v1.hitokoto.cn/?c=b (请求获得一个分类是漫画的句子)

https://v1.hitokoto.cn/?c=f&encode=text (请求获得一个来自网络的句子,并以纯文本格式输出)

网页使用示例:

<p id="hitokoto">:D 获取中...</p>
<!-- 以下写法,选取一种即可 -->

<!-- 现代写法,推荐 -->
<!-- 兼容低版本浏览器 (包括 IE),可移除 -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/browser/bluebird.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/fetch.min.js"></script>
<!--End-->
<script>
  fetch('https://v1.hitokoto.cn')
    .then(function (res){
      return res.json();
    })
    .then(function (data) {
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto;
    })
    .catch(function (err) {
      console.error(err);
    })
</script>

<!-- 老式写法,兼容性最忧 -->
<script>
  var xhr = new XMLHttpRequest();
  xhr.open('get', 'https://v1.hitokoto.cn');
  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
      var data = JSON.parse(xhr.responseText);
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto;
    }
  }
  xhr.send();
</script>

<!-- 新 API 方法, 十分简洁 -->
<script src="https://v1.hitokoto.cn/?encode=js&select=%23hitokoto" defer></script>

如果这篇文章只写了如何调用一言api是不是太水了?
接下来介绍如何制作自己的Hitokoto

制作自己的Hitokoto

在你的服务器上新建一个index.php文件,并编辑,内容如下:

<?php
$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");
if ($_GET['format'] === 'js') {
    echo "function hitokoto(){document.write('" . $content ."');}";
} else {
    echo $content;
}

接下来再新建一个hitokoto.txt文件并在里面加入你喜欢的句子。
注意:hitokoto.txt文件中的文字需要使用UTF-8编码
这里提供一个在线中文转UTF-8编码的网站:网址
这时候用浏览器访问http://yourdomain就可以看到输出内容了。

如果你想在其他地方调用你的Hitokoto,只需要使用以下代码:

<script type="text/javascript" src="https://yourdomain.com/hitokoto/?format=js&charset=utf-8"></script>
<div id="hitokoto"><script>hitokoto()</script></div>

当然十分欢迎大家调用我的Hitokoto

原文地址:https://www.cnblogs.com/linjiale/p/10805853.html

时间: 2024-10-22 01:58:35

Hitokoto——一言经典语句的相关文章

sql经典语句大全

SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------------ http://topic.csdn.net/u/20080306/23/d3c100f2-cda1-4efa-927d-f1f7968884ce.html /* 功能:拆分字符串. 作者:..... */ http://topic.csdn.net/u/20080724/11/dacb

4年前阅读《大话设计模式》摘抄的经典语句

前言 在自己的网盘中查找Memcached相关资料时,偶然看到自己很早之前阅读<大话设计模式>时所摘抄的经典语句.阅读完此书之后,对设计模式有了粗浅的认识,跟别人交流也能说道一二.感谢作者无私的分享! 经典语句 1 通过封装.继承.多态把程序的耦合度降低2 用设计模式使得程序更加的灵活,容易修改,并且易于复用3 聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分[DPE]4 合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严

MySQL常用经典语句

http://www.cnblogs.com/see7di/archive/2010/04/27/2239909.html MySQL常用经典语句 .重命名表ALTER TABLE tbl1 RENAME tbl2; .重命名表 RENAME TABLE old_table TO backup_table; 重命名多个表 RENAME TABLE old_table TO backup_table, new_table TO old_table; .把表从一个库移动到另一个库 RENAME TA

python 经典语句日志分析

#!/usr/bin/python import re def buffer_line(): buf = open("/etc/sae/buffer_1").read() if not buf: return 0 else: return int(re.findall("^\d*", buf)[0]) def set_last_pos(pos): open("/etc/sae/buffer_1", "w").write(str

经典语句_造句大全

印着你的足迹,在棠狄花飘落的季节,迎着你温婉的笑靥,回味足迹下,那一行行酸涩的甜美,可是,它终究走过了一个季节--一段甘之如贻的岁月.哎哟!我终将还会回忆! 经典语句_造句大全 人欲睡,枕上鸿声碎,流苏帘飘秋意浓,寒露生,锦衾眠愁情:分明见,那年桃花面,帐内梦魂寻回廊,未周详,香榭落满床. 捧起书本,心绪归了宁静,溪涧跌落的花儿.秋风微漾的波儿.耳际浮过的曲儿,叠垒在凝香的墨迹里,伴沉阔的夜的星眸.追羡往事. 孤雁鸣过,船头愁过客,湖巷残荷雨婆娑,胡曲迢递荡寒波,敛眉落笔不由序,芊芊草正衰去,窗

SQL 经典语句

15题需要再分析.没弄懂 使用scott/tiger用户下的emp表和dept表完成下列练习, 表的结构说明如下 emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号) dept部门表(deptno部门编号/dname部门名称/loc地点) 工资 = 薪金 + 佣金 1.列出至少有一个员工的所有部门. 2.列出薪金比“SMITH”多的所有员工. 3.列出所有员工的姓名及其直接上级的姓名. 4.列出

sql经典语句

找出卡号重复的select card from krs group by card having count(*)>1 A.导入ExcelSELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$ B.导入表SELECT * into xxFROM O

收集的sql经典语句

经典SQL语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创

经典语句,看看让心灵宁静

1.哈佛有一个着名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间.每晚抽出2个小时的时间用来阅读.进修.思考或参加有意的演讲.讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手. 2.无论你的收入是多少,记得分成五份进行规划投资:增加对身体的投资,让身体始终好用:增加对社交的投资,扩大你的人脉:增加对学习的投资,加强你的自信:增加对旅游的投资,扩大你的见闻:增加对未来的投资,增加你的收益.好好规划落实,你会发现你的人生逐步会有大量盈余. 3.过去的一页,能