Typecho调用摘要内容限定内容截取字符数的常规方法

如果老站长应该是知道的,Typecho当初开发出来就是因为看到WordPress臃肿不便捷,所以在一些功能上都很多相似的。比如在我们常规使用的首页和分类摘要内容上,如果我们不用分隔符More隔开,这样首页会出现整篇内容,体验确实很差。于是我们会手工设置摘要来解决问题,但是有些时候如果我们忘记设置又得重新编辑。

所以,我们可以在设置模板的时候直接将摘要闲置字数实现,这里老蒋可以将Typecho可能有遇到的Typecho调用摘要的方法记录下来。

第一、使用摘要内容

有些网友希望摘要内容是自定义的,所以直接可以就调用摘要,后台我们编辑文章的时候手动设置摘要。

<?php $this->excerpt(); ?>

这个替换模板中的内容展示部分。

第二、设置摘要字数

<?php $this->excerpt(100, '...'); ?>

如果我们没有设置摘要,会自动截取内容上面的部分。这样我们可以限制调出的字数。

第三、正则控制摘要内容字数

<?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>';
}
?>

如果我们在摘要中不显示图片,则需要过滤掉。可以用这个。

这样,我们可以选择自己合适的方法调用摘要。

本文出处:老蒋部落 » Typecho调用摘要内容限定内容截取字符数的常规方法 | 欢迎分享( 公众号:站长事儿 )