首页 > 怎样让首页显示文章的一部分和图片

怎样让首页显示文章的一部分和图片

我想达到的效果是,摘取文章的前200字,如果200字内有图片的话,也显示图片。

网上有方法是用$this->excerpt()替换$this->content('....'),但是这种方法只能摘取文字,而不能摘取图片。

我尝试 <?php mb_substr($this->content(), 0, 100, 'utf-8');>但是显示的结果跟$this->content('....')完全一样,难道环境不支持mb_substr,但是也没有报错呢?


如果想和我的博客一样,itoow.com,那就很简单,后台设置首页显示一篇文章,模板index只调用图片就行了,我的图片是用的外链图床的,所以首页调用是自定义字段来实现


首先你的代码是错误的。$this->content()其实就是打印内容,并且函数是没有输出的,所以实际上你的mb_substr函数压根就没法执行,当然和$this->content('...')是一样了,实际上你这里应该用$this->content才行,这个才是保存文章内容的变量。如果要实现你的思路的话可按照以下思路编写代码:

  1. 正则匹配文章内所有的IMG标签并用[图]替换(也可以是别的),并根据顺序把标签原始内容存储在数组内。
  2. strip_tags过滤掉其他无关标签之后用strim_width取前200个字。
  3. 查找这200个字内是否有[图]并按照匹配顺序从原始内容数组中读取IMG标签并替换回去。
【热门文章】
【热门文章】