函数
主题集成一言(Hitokoto)API 经典语句功能
该函数用于从一言API获取经典语句,并按照特定格式返回
function GetHitokoto()
{
// 定义API请求的URL,这里选择不限定内容类型,返回JSON格式数据
$url = 'https://v1.hitokoto.cn/?encode=json';
// 初始化curl会话,这是使用curl库进行HTTP请求的基础步骤
$ch = curl_init();
// 设置curl选项,跳过对SSL证书的验证,在生产环境需谨慎使用
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
// 设置请求的URL为定义的一言API地址
curl_setopt($ch, CURLOPT_URL, $url);
// 指定请求方法为GET
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// 告诉curl将请求的响应作为字符串返回,而不是直接输出到浏览器
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 设置请求的超时时间为6秒,如果6秒内API无响应,请求将失败
curl_setopt($ch, CURLOPT_TIMEOUT, 6);
// 执行curl请求并获取响应
$response = curl_exec($ch);
// 检查请求过程中是否发生错误
if ($error = curl_error($ch)) {
// 记录错误日志,方便调试和排查问题
error_log('一言API请求错误: '. $error, 0);
// 如果请求失败,返回默认提示信息
return '欢迎来到B2主题的一言功能~';
}
// 关闭curl会话,释放资源
curl_close($ch);
// 将API返回的JSON格式数据解码为PHP数组
$array_data = json_decode($response, true);
// 验证数据格式是否正确,确保能按预期提取经典语句和出处
if (is_array($array_data) && isset($array_data['hitokoto']) && isset($array_data['from'])) {
// 按照特定格式拼接经典语句和出处
$Emu_content = $array_data['hitokoto']. '----《'. $array_data['from']. '》';
} else {
// 记录数据格式异常日志,方便定位问题
error_log('一言API返回数据格式异常: '. $response, 0);
// 如果数据格式异常,返回提示信息
$Emu_content = '获取的一言数据格式异常';
}
// 返回格式化后的内容
return $Emu_content;
}
输出
<!--在你想要一言出现的位置填写下面代码-->
<?php echo GetHitokoto(); ?>
<!--当然你也可以添加p标签-->
<p><?php echo GetHitokoto();?></p>
然后通过CSS样式调整该 <p>
标签的外观,如字体大小、字体样式、颜色、行间距等。
一言类型更换
参数 | 说明 |
---|---|
a | 动画 |
b | 漫画 |
c | 游戏 |
d | 文学 |
e | 原创 |
f | 来自网络 |
g | 其他 |
h | 影视 |
i | 诗词 |
j | 网易云 |
k | 哲学 |
l | 抖机灵 |
其他 | 作为动画类型处理 |
评论 (暂无评论)