惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
N
News | PayPal Newsroom
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 热门话题
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
B
Blog RSS Feed
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
博客园 - 【当耐特】
Latest news
Latest news
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
D
Docker
Forbes - Security
Forbes - Security
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
Webroot Blog
Webroot Blog

立云图志 - Typecho

L.Plog.v1 超出预期的浏览体验 个性化图志系统 被嫌弃的博客图像处理 90% Typecho 相册主题 Snapic Plus v6 寻求贡献者 Typecho 图志主题:Snapic Paper 预料中的又倒下一批 Typecho 主题、模板、插件 给 Typecho 博客添加申请友链、站点收藏等功能 给 Typecho 博客添加旅行足迹地图标记功能 给 Typecho 博客添加评论者「都说了啥」功能 Typecho 记事阅读主题:Snapic Just 640px Typecho 多合一功能集插件:Lopwon Hub Typecho SEO 搜索引擎优化插件 Typecho 相册主题:Snapic Plus v5 停止开发! 给 Typecho 博客添加文章页相册功能 给 Typecho 博客添加QQ空间「那年今日」功能
与 Typecho 相关
作者: Lopwon · 2025-10-11 · via 立云图志 - Typecho

· Picture by ChatGPT· Picture by ChatGPT

在重制 Snapic Plus 过程中,需要把 JSON 字符串转换为数组,于是构建了以下函数:


    function jsonStringToArray($jsonString, $associative = true)
    {

        if (!is_string($jsonString) || empty(trim($jsonString))) {
            return $associative ? [] : null;
        }

        $decodedData = @json_decode($jsonString, $associative);

        if (json_last_error() === JSON_ERROR_NONE) {
            return $decodedData;
        }

        return $associative ? [] : null;

    }

    $data = '{"last_update_timestamp":"1760160739","total_media_count":576}';

    jsonStringToArray($data); // 转为数组
    jsonStringToArray($data, false); // 转为对象

事后细想,这是常用的功能,Typecho 或许有内置的,果然,在 var/Typecho/Common.php 文件里找到了:


    $data = '{"last_update_timestamp":"1760160739","total_media_count":576}';

    Json::decode($data); // 转为对象
    Json::decode($data, true); // 转为数组

这样的现象还挺普遍,由于官方提供的使用文档略显粗犷,主题、插件的开发者们常常会忽略这些自带的方法、组件等,这么一来,无形中增加了制作的时间开销,也存在升级新版 Typecho 时,主题、插件代码失效报错的情况,比如(这里)提及的偏方。

此外,不少主题会使用诸如以下的标记方式对文章内容进行替换,以输出自定义的丰富版式,但是,由于官方似乎没有制定统一的开发规范,导致不同开发者使用了不同风格去实现相似的渲染结果,致使在切换主题时,无法正确兼容适配。


    [photos][/photos] // 开发者 A
    [fotos][/fotos] // 开发者 B

26 视频:中缅边境,填坑行

尼康D90相机抓拍进藏骑行者

1374141600

尼康D90相机抓拍进藏骑行者

明天的天气不会太糟,可以出发

1348999200

明天的天气不会太糟,可以出发