Typecho调用摘要内容限定内容截取字符数的常规方法
2023-04-18 16:18:16 时间
如果老站长应该是知道的,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>';
}
?>
如果我们在摘要中不显示图片,则需要过滤掉。可以用这个。
这样,我们可以选择自己合适的方法调用摘要。
相关文章
- 谷歌新模型刷新ImageNet纪录,第一作者是上海交大毕业生
- 代码以外的生存之道,献给每位入了坑的码农
- 程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金
- 关于 HITP 代理,你还需要了解这些,不然面试你是过不去的!
- GitHub终于推出手机版App,方便开发者与用户互动
- C++ 大神 John Carmack:我要去搞通用 AI 了,勿念!
- 如果问你:一个TCP连接可以发多少个HTTP请求?你能答上来吗
- 终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!
- 程序员欢呼,GitHub推出首款原生移动应用程序
- 九大高效的前端测试工具与框架
- Web开发必须掌握的三个技术:Token、Cookie、Session
- Github标星30.8K!这可能是目前最全的编程面试题集
- 96秒100亿!如何抗住双11高并发流量?
- 前端小姐姐助你俘获女神心,双十一挑口红神器在此 | 开源项目
- 谷歌开源 Skaffold:简化 Kubernetes 开发
- 未来软件开发的五大预测:“开发大迁徙”;低代码大放异彩
- 7个提高开发能力的趣味性项目,速来体验!
- 增强Jupyter Notebook的功能,这里有四个妙招
- 可以编写代码的代码:代码生成的利与弊
- 一文彻底搞懂cookie和session