2019.07.22 | 网站相关 | 5101 浏览 | 6 赞 | 1 条评论


请注意,本文编写于 1911 天前,最后修改于 1910 天前,其中某些信息可能已经过时。
AI摘要:本文介绍了一个关于 Typecho 使用 <!--more--> 分隔符后出现过多 <br> 标签的 bug 修复过程。作者尝试了网上的方法,但并未完全解决问题。最后,通过将替换后的 <br> 标签闭合,成功修复了 bug。作者表示,这可能是由于触发了后续代码导致的离奇修复。同时,作者提醒,两个互相弥补的 bug 可能才是最难发现的。

Powered by AISummary and MoonShot KimiChat.

使用了 <!--more--> 分隔符后,首页的文章显示中出现了一大片空白,审查元素发现。多了好多<br> 标签。其实这个问题老早就发现了,不过今天特别不爽于是想修复一下。

在网上查了查资料,说是 Typecho 对于换行符的替换处理问题,不过按照网上的方法似乎并没有完全解决。

网上的方法是 注释掉在/var/hyperDown.php 文件1177行:

//$str = preg_replace("/\n/", "<br>", $str);

但是经过测试后发现这样做会让段内全部换行全部失效,并不合适。

一个很离奇的尝试,我试着将替换后的 <br> 标签闭合,即将这一行改成这样:

$str = preg_replace("/\n/", "<br />", $str);

莫名其妙的就让 bug 消失了,审查元素的时候也只是发现多余的 <br> 标签被清理掉,而段内的 <br> 也没有变成 <br />。所以说这次 bug 的修复很离奇,可能是由于触发了之后的一些代码,两两呼应直接把 bug 修复了。

但其实说不定是因为自己引入了一个复合式 bug 也说不定呢🤣

两个bug是互相弥补的,好比“负负得正”,软件反而能正常运行。这种bug可能才是最难发现的bug。当你修正了其中的一个bug,另一个bug才会暴露出来。这时对你来说,你会觉得刚才修正错了,因为那是你最后修改的地方,你就怀疑自己在那里做错了,但是你其实是对的。

(出自《黑客与画家》)

等之后琢磨透了说不定会有更好的解决方案,先这么留着吧ww

参考链接

[bo'ke'yr]()https://www.cnblogs.com/richerdyoung/p/10283407.html

本文链接:https://idealclover.top/archives/576/

本作品由 idealclover 采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

标签: 文章, 文件, 链接, 修复, bug, str, 说不定, 标签

6

只有一条评论 QAQ


  1. 枫叶
    枫叶 回复

    真神奇,居然成功了!真是奇怪的bug,多余的空白行终于消失了。OωO

🤔关于我
翠翠 idealclover
Product Manager @ByteDance
南京大学 2016 级本科生
了解更多
🏠关于博客
基于 Typecho 博客框架
使用个人的 clover clover 主题