/** * @descrpition 单篇文章展示 * @return Ambigous */ public function main() { $articleId = $this->param['aid']; if (empty($articleId)) { View::showErrorMessage(GAME_URL, '参数错误'); } //获取文章信息 $article = ArticleBusiness::getArticle($articleId); if (empty($article)) { View::showErrorMessage(GAME_URL, '内容丢掉了-.-'); } $article['author'] = $article['author']; $article['title'] = $article['title']; $article['description'] = $article['description']; $article['ctime'] = date('Y-m-d H:i:s', $article['ctime']); $article['tag'] = explode('|', $article['tag']); // $article['content'] = htmlspecialchars_decode($article['content']); // preg_match_all("/\[code\](.*?)\[\/code\]/s", $article['content'], $match); // // $article['content'] = preg_replace("/\[code\](.*?)\[\/code\]/s", htmlspecialchars('${1}'), $article['content']); //获取该文章的评论 $commentList = CommentBusiness::getCommentByAid($this->param['aid']); $commentList = Func::arrayKey($commentList); //将评论二级分类 foreach ($commentList as $key => $comment) { if ($comment['cid'] != 0) { $commentList[$comment['cid']]['son'][] = $comment; unset($commentList[$key]); } } //获取该分类下热门文章 $articleHotList = ArticleBusiness::getHotListByMid($article['mid']); foreach ($articleHotList as $k => $a) { $articleHotList[$k]['title'] = mb_substr($a['title'], 0, 30, 'UTF-8') . '...'; } //获取该分类下最新评论 $commentNewList = CommentBusiness::getNewListByMid($article['mid']); foreach ($commentNewList as $key => $comment) { $commentNewList[$key]['content'] = mb_substr($commentNewList[$key]['content'], 0, 30, 'UTF-8') . '...'; } //获取Tag $tags = TagBusiness::getRandList(ParamConstant::PARAM_TAG_LIST_NUM); //对文章进行处理,代码部分特殊显示. $article['content'] = preg_replace('/\\[code\\]/s', '<pre class="prettyprint linenums">', $article['content']); $article['content'] = preg_replace('/\\[\\/code\\]/s', '</pre>', $article['content']); //SEO的title,keywords,description $seo_title = $article['seo_title']; $seo_description = $article['seo_description']; $seo_keywords = $article['seo_keywords']; //文章的点击数+1 ArticleBusiness::clicks($articleId); View::assign('seo_title', $seo_title); View::assign('seo_description', $seo_description); View::assign('seo_keywords', $seo_keywords); View::assign('tags', $tags); View::assign('commentList', $commentList); View::assign('commentNewList', $commentNewList); View::assign('articleHotList', $articleHotList); View::assign('article', $article); View::showFrontTpl('article'); }