diff --git a/libs/Contents.php b/libs/Contents.php index e819339e..44c70071 100644 --- a/libs/Contents.php +++ b/libs/Contents.php @@ -74,60 +74,41 @@ public static function title(Widget_Archive $archive) Helper::options()->title(); } - // 是否将图题解析到 figcaption 中 - static private $parseFigcaption = true; - /** * 内容解析点钩子 * 目录解析移至前端完成 */ static public function contentEx($data, $widget, $last) { - $setting = $GLOBALS['VOIDSetting']; - if (!$setting['parseFigcaption']) - self::$parseFigcaption = false; - $text = empty($last)?$data:$last; if ($widget instanceof Widget_Archive) { - if($widget->parameter->__get('type') == 'feed') { - $text = self::parseAll($text, 1); - } else { - $text = self::parseAll($text, 0); - } + $text = self::parseRuby($text); + $text = self::parseFancyBox($text, $widget->parameter->__get('type') == 'feed'); + $text = self::parseBiaoQing($text); + $text = self::parsePhotoSet($text); + $text = self::parseNotice($text); + $text = self::parseHeader($text); } return $text; } /** * 摘要解析点钩子 - * 摘要中不应解析图题 */ static public function excerptEx($data, $widget, $last) { - self::$parseFigcaption = false; - $text = self::contentEx($data, $widget, $last); - self::$parseFigcaption = true; // 置回 - + $text = empty($last)?$data:$last; + if ($widget instanceof Widget_Archive) { + $text = self::parseRuby($text); + $text = self::parseBiaoQing($text); + $text = self::parseNotice($text); + // 去除照片集标记 + $text = str_replace('[photos]', '', $text); + $text = str_replace('[/photos]', '', $text); + } return $text; } - /** - * 解析器:文章内容 - * - * @return string - */ - static public function parseAll($content, $photoMode = 0) - { - $content = self::parseRuby($content); - $content = self::parseFancyBox($content, $photoMode); - $content = self::parseBiaoQing($content); - $content = self::parsePhotoSet($content); - $content = self::parseNotice($content); - $content = self::parseHeader($content); - - return $content; - } - /** * 解析文章内 h2 ~ h5 元素 * @@ -235,15 +216,14 @@ private static function parseAruBiaoqingCallback($match) return ''; } - static private $photoMode = 0; - /** * 解析 fancybox * * @return string - * @param photoMode 0:普通解析,1:RSS(不包裹 a 标签) + * @param photoMode false: 普通解析,true: RSS(不包裹 a 标签) */ - static public function parseFancyBox($content, $photoMode = 0) + static private $photoMode = false; + static public function parseFancyBox($content, $photoMode = false) { $reg = '//s'; self::$photoMode = $photoMode; @@ -258,6 +238,7 @@ static public function parseFancyBox($content, $photoMode = 0) */ private static function parseFancyBoxCallback($match) { + $setting = $GLOBALS['VOIDSetting']; $src_ori = $match[1]; $src = $src_ori; $classList = ''; @@ -281,7 +262,7 @@ private static function parseFancyBoxCallback($match) // 普通解析且开启懒加载 $img_onload = ''; - if(self::$photoMode == 0 && Helper::options()->lazyload == '1') { + if(!self::$photoMode && Helper::options()->lazyload == '1') { $src = self::getPlaceHolder(); $classList = 'lazyload'; } else { @@ -290,12 +271,12 @@ private static function parseFancyBoxCallback($match) } $figcaption = ''; - if ($match[2] != '' && self::$parseFigcaption) + if ($match[2] != '' && $setting['parseFigcaption']) $figcaption = '
'.$match[2].'
'; $img = ''.$match[2].''; - if (self::$photoMode == 0) { + if (!self::$photoMode) { return '
'.$img.''.$figcaption.'
'; } else { return '
'.$img.$figcaption.'
';