这两天在研究 Typecho 文章内容部分展示问题(后续可能会运用到 ArmxMod for Typecho 主题),由于在进行根据字数裁切时,PHP 并不会去判断到底裁的位置有没有问题,很有可能就把 HTML 标签裁了,还裁的不完全,就造成页面在展示的时候,布局混乱(目前这个问题在大家开发主题时做文章摘要比较容易出现),故在完成裁切后,应当对输出进行修复,补齐标签缺失的部分。 问题 比如正常的 HTML 代码如下:
这两天在研究 Typecho 文章内容部分展示问题(后续可能会运用到ArmxMod for Typecho 主题
经过裁切后,输出的 HTML 如下:这两天在研究 Typecho 文章内容部分展示问题(后续可能会运用到 显然裁切后的 HTML 是不完整的,浏览器在显示时输出的页面完全变样了。 修复 function fixPost($post){ $post = preg_replace(‘/]*$/’,”,$post); preg_match_all(‘##iU’, $post, $result); if($result){ $opentags = $result[1]; preg_match_all(‘#([a-z]+)>#iU’, $post, $result); if($result){ $closetags = $result[1]; $len_opened = …