很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api。其实,使用万能的php能用短短的几行代码就实现该功能!

  将下列代码复制并粘贴到 api.php 中保存,你的专属“一言” API 就搭建完成了!超简单是不是……

<?php
// 存储数据的文件
$filename = 'data.dat';        // 指定页面编码
header('Content-type: text/html; charset=utf-8');if(!file_exists($filename)) {die($filename . ' 数据文件不存在');
}// 读取整个数据文件
$data = file_get_contents($filename);// 按换行符分割成数组
$data = explode(PHP_EOL, $data);// 随机获取一行索引
$result = $data[array_rand($data)];// 去除多余的换行符(保险起见)
$result = str_replace(array("\r","\n","\r\n"), '', $result);echo $result;

  

如何在静态页面中引用

上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个 api,该如何实现呢?

很简单,将最后那一行的 echo $result; 换成

echo 'document.write("'.htmlspecialchars($result).'");';

然后在需要的位置用引入 js 的方式进行调用即可。

示例代码:

<script src="http://你的网址.cn/api.php"></script>

附:data.dat文件下载。点我下载


本文版权所属孟坤博客,转载请注明出处。

转载于:https://www.cnblogs.com/phper12580/p/10063510.html

PHP简单实现一言 / 随机一句功能相关推荐

  1. php采集一言代码_PHP简单实现一言 / 随机一句功能

    很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api.其实,使用万能的php能用短短的几行代码就实现该功能! 将下列代码复制并粘贴到 api.php 中保存,你的专属"一言&quo ...

  2. php采集一言代码_用PHP制作api源码简单实现一言 / 随机一句功能

    很多人都喜欢在自己的网站页面中加个一言,不过一般都是调用的第三方api.其实,使用phpfile_get_contents 函数就能通过短短的几行代码就实现该功能! 准备工作 首先准备一个代码编辑器, ...

  3. php 记事本源代码_PHP简单实现一言 / 随机一句功能

    首先准备一个代码编辑器,然后新建一个 php 文件,命名为 api.php,再新建一个文件,命名为 data.dat(两个文件均需采用 UTF-8 编码,否则会乱码). 打开 data.dat,在里面 ...

  4. html网页随机一言,PHP简单实现一言 / 随机语录功能

    教程开始: 1.首先新建一个php文件,命名为api.php(这里小牛云站长推荐用notepad++编辑代码) 2.再新建一个文件,命名为data.dat(两个文件均需采用UTF-8 编码,否则会乱码 ...

  5. php采集一言代码_【PHP】简单的一言API源码

    Loading... **前言:** 通过调用文本任一一行的句子,实现简单的一言api,无后台返回数据,只需把文字写到api.txt中供其调用. **源码:** ```php //获取句子文件的绝对路 ...

  6. 【随机一句诗歌】【JS】随机一句诗歌,并且附带点击时间和当前时间。

    来源地址:https://juejin.cn/post/7033014658181103653 [每日一点事] 在埃菲尔铁塔上,其实,共刻有72位科学家的名字- 一.代码 [核心代码] getToda ...

  7. 随机段子api php,给博客添加一个名言段子语句随机播放的功能(集成Hitokoto)

    之前浏览张戈的博客,发现他的文章页点赞下方有个很有意思的东西,一列显示一段句子,刷新一下会重新生成另外一个,主要包含段子.台词等有意思的话. 余斗的博客不少内容都是参考张戈博客,虽然发现这个有趣的玩意 ...

  8. php 队列取并集,PHP实现对数组简单求交集,差集,并集功能示例

    php 的 PHP实现对数组简单求交集,差集,并集功能示例 本文实例讲述了PHP实现对数组简单求交集,差集,并集功能.分享给大家供大家参考,具体如下: $arr1 = array( '0' => ...

  9. 简单实现vue验证码60秒倒计时功能

    简单实现vue验证码60秒倒计时功能 <span v-if="codeShow" @click="getPhoneCode">点击获取验证码< ...

最新文章

  1. 你真的掌握了并发编程volatile synchronized么?
  2. Google colab: 修改系统时间 change system time
  3. 道歉无用!被 Linux “拉黑”的明尼苏达大学还在努力重获信任
  4. matlab mapminmax 基于神经网络的网格训练
  5. 批处理常用命令及用法大全
  6. “国货之光” 完美日记的微服务实践和优化思路
  7. pycharm更改为系统python3_今天配置好python3 装好了pycharm 就新建一个django一直改不好...
  8. Java 装箱和拆箱
  9. 5G 爆发前夕,将渗透哪些领域?
  10. 【Longest Palindromic Substring】cpp
  11. SEO实战密码:60天网站流量提高20倍(第2版)
  12. 4月13日云栖精选夜读:雪佛兰和阿里妈妈撒红包雨!到店率增加20%是如何做到的?...
  13. Sock学习1 (网络基本知识、Sock简介)
  14. oracle语句整理,Oracle 维护常用SQL语句整理
  15. presentation健身主题HTML,如何用英文做presentation
  16. 05【实操篇-文件目录类命令】
  17. android半透明图层颜色叠加,Android 图层混合模式PorterDuff.Mode
  18. doctrine 关系
  19. 章节1 计算机体系结构
  20. 心态-《积极的力量》书中的精髓:如何保持积极乐观的心态,从而提升我们的幸福感?

热门文章

  1. ACM图灵奖获得者:想从大数据中获益,先解决集成问题!
  2. 我所经历的大文件数据导出(后台执行,自动生成)
  3. C#关于值类型和引用类型的备忘
  4. 【转】Python 代码调试技巧
  5. GDI+ 学习记录(3): 虚线画笔 - Dash
  6. Redis单机版本框架
  7. ZooKeeper简介(安装和使用)
  8. Tomcat 启动卡住
  9. delphi variant和stream相互转换的函数
  10. [数据结构]表达式求值