[分享创造] 开源一个 V2EX 网页端 PHP 版查看器

方便手机随时查看热帖 为什么用 php,部署简单,适合小白. 阿里云新建个 bt 面板,把代码放进去即可 需要申请 api https://www.v2ex.com/settings/tokens 下方是 ai 提示词: 帮我写一个 PHP 单文件 V2EX 手机阅读器 v2ex.php 。 要求:...
[分享创造] 开源一个 V2EX 网页端 PHP 版查看器
[分享创造] 开源一个 V2EX 网页端 PHP 版查看器

方便手机随时查看热帖

为什么用 php,部署简单,适合小白. 阿里云新建个 bt 面板,把代码放进去即可

需要申请 api https://www.v2ex.com/settings/tokens

下方是 ai 提示词:

帮我写一个 PHP 单文件 V2EX 手机阅读器 v2ex.php 。

要求:
- 使用 https://www.v2ex.com/api/v2/
- Token 放 PHP 后端,用 Authorization: Bearer TOKEN ,不能暴露前端。
- 默认显示最近主题。
- 顶部显示热门 nodes ,横向滚动。
- 点击 node 加载该 node 的主题。
- 点击标题展开正文,再点标题关闭。
- 文章尾部有“查看原文”和“关闭文章”两个按钮。
- 原文链接格式: https://www.v2ex.com/t/{topic_id}
- 手机端紧凑卡片布局,TailwindCSS CDN 。
- 显示标题、作者、node 、回复数。
- 正文、回复、图片、代码块、链接都要适配手机。
- AJAX 请求当前文件:
  ?ajax=latest
  ?ajax=node_topics&node=php
  ?ajax=topic&id=123
- 后端统一返回 JSON 。
- 兼容 V2EX API 返回结构 result/data/items/topics/replies 。
- 修复 topics.forEach is not a function 。
- 修复正文一直暂无正文。
- 正文字段兼容 content_rendered/content_html/content/body_rendered/body_html/body/text 。
- PHP 兼容 7.4 ,不用 array_is_list(),自己写 isListArray()。
- 函数用 function_exists 包起来,避免 Cannot redeclare 。
- AJAX 不能输出 PHP Warning/Fatal HTML ,避免 Unexpected token '<'。
- 前端 api() 先读取 text ,再 JSON.parse ,失败时 console.error 原始内容。
- 最终输出完整 v2ex.php ,不要只给片段。
来源: v2ex.com查看原文