主页折叠显示文章 - Typecho

方法一:不是很好用
登录到后台-控制台-外观-编辑当前外观:
编辑文件 archive.php
编辑文件 index.php

修改两处分别找到:
/ 默认显示的是全文 /

<?php $this->content('- 阅读剩余部分 -'); ?>
替换成(概要取300字):
/ 自定义输出,如 300个字符 /

<?php $this->excerpt(300,'- 阅读剩余部分 -'); ?>

修改typecho首页显示文章的数量:
编辑文件 functions.php
在末尾添加:

/ 自定义首页文章分布数量,如 10 /
function themeInit($archive) {
if ($archive->is('index')) {
$archive->parameter->pageSize = 10;
}
}

方法二(有小Bug,待研究):

输出图片的正则表达式代码:

<?php

        if(preg_match('/<!--more-->/',$this->content)||mb_strlen($this->content, 'utf-8') < 270)
        {
            $this->content('阅读全文...');
        }
        else
        {    
                $c=mb_substr($this->content, 0, 270, 'utf-8');
                if(preg_match('/<pre>/',$c))
                {
                   echo $c,'</code></pre>','...';;
                }
                else
                {
                   echo $c.'...';
                }
                echo '</br><p class="more"><a href="',$this->permalink(),'" title="',$this->title(),'">阅读全文...</a></p>';
        }
    ?>

不输出图片的正则表达式代码:

<?php

        if(preg_match('/<!--more-->/',$this->content)||mb_strlen($this->content, 'utf-8') < 270)
        {
            $this->content('阅读全文...');
        }
        else
        {    
                $c=mb_substr($this->content, 0, 270, 'utf-8');
                $c=preg_replace("/<[img|IMG].*?src=[\'\"](.*?(?:[\.gif|\.jpg|\.jpeg|\.png|\.tiff|\.bmp]))[\'|\"].*?[\/]?>/","",$c);
                if(preg_match('/<pre>/',$c))
                {
                   echo $c,'</code></pre>','...';;
                }
                else
                {
                   echo $c.'...';
                }
                echo '</br><p class="more"><a href="',$this->permalink(),'" title="',$this->title(),'">阅读全文...</a></p>';
        }
    ?>

TAG:Typecho

添加新评论