获取文章内容首张图片作为栏目列表里的缩略图,是时下非常浏览的展示方式,织梦dedecms提供缩略图模板标签调用的是文章里的缩略图字段,那么想给dedecms实现调用首张图片作为缩略图怎么办?方法是通过sql获取body字段的内容,然后使用php正则匹配出图片url。
代码如下:
1 | <img src="[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From `peak_addonarticle` where aid='$aid' "); preg_match_all('/<img[^>]*src=[\'"]?([^>\'"\s]*)[\'"]?[^>]*>/i', $row['body'], $match);@me = $match[1][0];[/field:id]" /> |
正则匹配出来的结果是一个图片数组,通过$match[1][0]就可以获取第一张图片的url地址,获取到的图片URL是包括http://的完成URL,如http://域名/logo.png
PS:不管是织梦dedecms还是zblog php、wordpress,获取首张图片基本都是通过正则表达式的方式匹配出来的。