zblog获取当前文章图片数量的调用方法
调用本文总共有几张图片数量代码
下面的示例代码不建议直接复制使用,至少你要把xxx请替换为自己的应用id。
ZBlogPHP开发教程,统计文章中的图片数量,并数量和相册缓存在扩展字段中。
include.php中插入【*请修改后使用,谢谢】
/** * 挂载接口 */function ActivePlugin_xxx() { Add_Filter_Plugin('Filter_Plugin_PostArticle_Core', 'xxx_Plugin_PostArticle_Core');}/** * 统计文章中的图片数量 * * @param number $id 文章ID * @param object $art 文章对象 */function xxx_CountArticleImage($id = null, $art = null) { global $zbp; // 如果设置文章ID 读取文章对象 if (isset($id) && $id > 0) { $art = $zbp->GetPostByID((int) $id); } // $art文章对象异常时 默认返回0 if (empty($art) || !$art->ID) { return 0; } // 返回$art->Metas中的缓存数量 if (isset($art->Metas->images_count)) { $return $art->Metas->images_count; } $pattern = "/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/i"; $content = $art->Content; preg_match_all($pattern, $content, $matchContent); $art->Metas->images_array = implode(',', $matchContent[1]); $art->Metas->images_count = count($matchContent[1]); $art->Save(); $return $art->Metas->images_count ? $art->Metas->images_count : 0;}/** * 提交文章的时候 统计文章中的图片数量 */function xxx_Plugin_PostArticle_Core(&$article) { global $zbp; $pattern = "/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/i"; $content = $article->Content; preg_match_all($pattern, $content, $matchContent); if(!isset($matchContent[1]) || count($matchContent[1]) == 0) { return; } $images = $matchContent[1]; $image_sum = count($images); $article->Metas->images_array = implode(',', $images); $article->Metas->images_count = $image_sum;}
如何使用?
{xxx_CountArticleImage(null, $article)}
或
{xxx_CountArticleImage('文章ID')}
$article需要更换为对象变量
这里的方法缓存了图片的列表,如果不需要去掉这两行代码即可;
$art->Metas->images_array = implode(',', $matchContent[1]);
$article->Metas->images_array = implode(',', $images);
本文内容转载ZBP部落 https://www.zblogphp.com/article/3
原文链接:https://www.qiquanji.com/post/6964.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。