D.H.Q的烂笔头

Just code for fun~

Articles about: wordpress

zotonic 下的 wordpress 版 more 标签实现

对于文章摘要,zotonic 在后台写作页面那里专门有一个栏,给你填写文章的大概内容摘要,当然,摘要显示的格式也是纯文本来了。写完了文章内容还要去写文章的摘要,挺麻烦的。对于一个之前体验过 wordpress 的用户来说,是很怀念 wordpress 下的 more 标签。

什么是 more 标签

其实 more 标签只是一个内容是 "<!--more-->" 的 html 注释,因此这个 more 标签的内容是不会在文章正文中显示出来的,它允许你在文章正文中选择一个断点,插入 more 标签内容 -- "<!--more-->",这个断点的以上的文章内容将作为文章的摘要显示在首页上。

wordpress 下 more 标签的实现

也不难实现,就是以 more 标签为标记,对文章正文内容做一个截取了。wordpress 就是用 php 的正则匹配方法 -- preg_match 来实现的:

preg_match('/<!--more(.*?)?-->/', $content, $matches)

'/<!--more(.*?)?-->/' 是匹配 more 标签的正则表达式,$content 是文章的内容,$matches 就是匹配成功后返回的结果。

zotonic 下的实现

zotonic 下可以用 re:split 方法对文章正文进行正则截取:

[Summary | _] = re:split(Content, "<!--more(.*?)?-->", [{return, list}])

Content 是文章的正文,Summary 则是匹配后返回的摘要。

继续阅读 »
返回顶部