今天抓紧时间又更新了一下任氏有无轩的首页的改造。在我已经获得了我的博客的若干最新帖子的前提下,我需要在首页上显示其中的几个。 我要解决两个问题:
- 对帖子的内容进行过滤。
- 对过于长的帖子内容进行截断。
由于Twig引擎在渲染HTML的内容时,缺省会将其作为<pre>文本输出,因此所有HTML/CSS效果都会丢失。这是可以接受的,但是问题在于,在这一过程中所有的HTML标记(如<p>,<img>等)也会按照转义输出,这样一来我们的输出中文字就会非常凌乱,不利于阅读。
我要达到的是下面的效果:
也就是说,只输出文本,对于其中可能出现的HTML标记被剥离并不是太大的问题。 这可以通过如下的输出控制实现:
rp.description|striptags
接下来,要对这样输出的文字进行截断。Twig提供了一个truncate过滤器,但是要使用它需要进行一些设置。 修改app/config.yml并增加如下代码:
services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension}
然后对刚才输出的文字继续套用truncate:
rp.description|striptags|truncate(120)
就可以得到图片中的效果了。
本文收录于[go4pro.org]

Leave a Reply