下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms判断多图信息并自动展示不同模板(提取正文图片)

331 2022-05-25 22:03:22

收藏
信息网站大多兼容无图、单图、多图的信息展示,信息展现更加错落有致,视觉体验也更好。但帝国cms默认是不支持识别与匹配的,此时可以灵动运用php。
 

灵动标签多图展示

<?
$sql=$empire->query("select * from {$dbtbpre}ecms_news order by id desc limit 30");
while($bqr=$empire->fetch($sql)){
    $bqsr=sys_ReturnEcmsLoopStext($bqr);
    $bqno++;


$fr=$empire->fetch1("select newstext,infotags from {$dbtbpre}ecms_news_data_{$bqr[stb]} where id='$bqr[id]'");
$neirong=$fr['newstext'];
$imgcount=substr_count($neirong,"<img");

$neirong=preg_replace("@<iframe(.*?)</iframe>@is","",$neirong); 
$neirong=str_replace("$public_r[newsurl]","/","$neirong");
$neirong=stripslashes($neirong);

$match=='';
$pattern='/<[img|IMG].*?src="(.*?(?:[.gif|.jpg|.png]))".*?>/';
preg_match_all($pattern,$neirong,$match); 

if($match[1][0]==''){
$pattern='/<[img|IMG].*?src=\\"(.*?(?:[.gif|.jpg|.png]))\\".*?>/';
preg_match_all($pattern,$neirong,$match); 
}

$cl=$empire->fetch1("select classname from {$dbtbpre}enewsclass where classid='$bqr[classid]'");
$classname=$cl['classname'];

$infotags=$fr['infotags'];
$r_tag=explode(",",$infotags);
for($i=0;$i<count($r_tag);$i++){
  if($r_tag[$i]){
    $tagslink=$public_r[newsurl].'e/tags/?tagname='.$r_tag[$i];
    $tags.="<a href='$tagslink' target='_blank' rel='tag'>".$r_tag[$i]."</a>";
  }
}

$tmpimg4='';
$tmpimg3='';
$tmpimg1='';
?>

<?
if($imgcount>3){
  for($j=0;$j<4;$j++){
    $tmpimg4.=' <a href="'.$bqr[titleurl].'"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="'.$bqr[title].'" /></a> ';
  }
?>
  <li class="listpost_li">
    <h2><a href="<?=$bqr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank">444<?=$bqr[title]?></a></h2>
    <div class="moreimg"> <?=$tmpimg4?> </div>
    <div class="moreinfo"> <span class="on"><a href="<?=$bqsr[classurl]?>"><?=$classname?></a></span> <span class="on"><?=date('Y-m-d',$bqr[newstime])?></span> <span>阅读(<?=$bqr[onclick]?>)</span> <span><?=$tags?></span> </div>
  </li>
<?}?>

<?
if($imgcount==3){
  for($j=0;$j<3;$j++){
    $tmpimg3.=' <a href="'.$bqr[titleurl].'"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="'.$bqr[title].'" /></a> ';
  }
?>
  <li class="listpost_li">
    <h2><a href="<?=$bqr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank">333<?=$bqr[title]?></a></h2>
    <div class="moreimg"> <?=$tmpimg3?> <a href="<?=$bqr[titleurl]?>" class="picture-more">查看详情 ></a></div>
    <div class="moreinfo"> <span class="on"><a href="<?=$bqsr[classurl]?>"><?=$classname?></a></span> <span class="on"><?=date('Y-m-d',$bqr[newstime])?></span> <span>阅读(<?=$bqr[onclick]?>)</span> <span><?=$tags?></span> </div>
  </li>
<?}?>

<?
if($imgcount<3&&$imgcount>0){
  for($j=0;$j<1;$j++){
  $tmpimg1.=' <a href="'.$bqr[titleurl].'"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="'.$bqr[title].'" /></a> ';
  }
?>
  <li class="listpost_li">
    <div class="img"> <?=$tmpimg1?> </div>
    <div class="info">
      <h2><a href="<?=$bqr[titleurl]?>" target="_blank">222<?=$bqr[title]?></a></h2>
      <div class="moreinfo"> <span class="on"><a href="<?=$bqsr[classurl]?>"><?=$classname?></a></span> <span class="on"><?=date('Y-m-d',$bqr[newstime])?></span> <span>阅读(<?=$bqr[onclick]?>)</span> <span><?=$tags?></span> </div>
    </div>
  </li>
<?}?>

<?
if($imgcount<1){
?>
  <li class="listpost_li">
    <div class="info" style="margin-left: 0px;">
      <h2><a href="<?=$bqr[titleurl]?>" target="_blank">000<?=$bqr[title]?></a></h2>
      <div class="moreinfo"> <span class="on"><a href="<?=$bqsr[classurl]?>"><?=$classname?></a></span> <span class="on"><?=date('Y-m-d',$bqr[newstime])?></span> <span>阅读(<?=$bqr[onclick]?>)</span> <span><?=$tags?></span> </div>
    </div>
  </li>
<?}?>

<?}?>
 

栏目页list.var多图展示

$fr=$empire->fetch1("select newstext,infotags from {$dbtbpre}ecms_news_data_{$r[stb]} where id='$r[id]'");
$neirong=$fr['newstext'];
$imgcount=substr_count($neirong,"<img");

$neirong=preg_replace("@<iframe(.*?)</iframe>@is","",$neirong); 
$neirong=str_replace("$public_r[newsurl]","/","$neirong");

$match=='';
$pattern='/<[img|IMG].*?src="(.*?(?:[.gif|.jpg|.png]))".*?[/]?>/';
preg_match_all($pattern,$neirong,$match); 

if($match[1][0]==''){
$pattern='/<[img|IMG].*?src=\\"(.*?(?:[.gif|.jpg|.png]))\\".*?[/]?>/';
preg_match_all($pattern,$neirong,$match); 
}

$cl=$empire->fetch1("select classname from {$dbtbpre}enewsclass where classid='$r[classid]'");
$classname=$cl['classname'];

$infotags=$fr['infotags'];
$r_tag=explode(",",$infotags);
for($i=0;$i<count($r_tag);$i++){
	if($r_tag[$i]){
		$tagslink=$public_r[newsurl]."e/tags/?tagname=".$r_tag[$i];
		$tags.="<a href='$tagslink' target='_blank' rel='tag'>".$r_tag[$i]."</a>";
	}
}
if($imgcount>3){
for($j=0;$j<4;$j++){
$tmpimg4.=' <a href="[!--titleurl--]"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="[!--oldtitle--]" /></a> ';
}
$listtemp='<li class="listpost_li">
    <h2><a href="[!--titleurl--]" title="[!--oldtitle--]" target="_blank">[!--title--]</a></h2>
    <div class="moreimg"> '.$tmpimg4.' </div>
    <div class="moreinfo"> <span class="on"><a href="[!--this.classlink--]">'.$classname.'</a></span> <span class="on">[!--newstime--]</span> <span>阅读([!--onclick--])</span> <span>'.$tags.'</span> </div>
  </li>';
}
if($imgcount==3){
for($j=0;$j<3;$j++){
$tmpimg3.=' <a href="[!--titleurl--]"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="[!--oldtitle--]" /></a> ';
}
$listtemp='<li class="listpost_li">
    <h2><a href="[!--titleurl--]" title="[!--oldtitle--]" target="_blank">[!--title--]</a></h2>
    <div class="moreimg"> '.$tmpimg3.' <a href="[!--titleurl--]" class="picture-more">查看详情 ></a></div>
    <div class="moreinfo"> <span class="on"><a href="[!--this.classlink--]">'.$classname.'</a></span> <span class="on">[!--newstime--]</span> <span>阅读([!--onclick--])</span> <span>'.$tags.'</span> </div>
  </li>';
}
if($imgcount<3){
for($j=0;$j<1;$j++){
$tmpimg1.=' <a href="[!--titleurl--]"><img src="'.$public_r[newsurl].'e/extend/timthumb.php?src='.$match[1][$j].'&amp;h=120&amp;w=180&amp;zc=1" alt="[!--oldtitle--]" /></a> ';
}
$listtemp='<li class="listpost_li">
    <div class="img"> '.$tmpimg1.' </div>
    <div class="info">
      <h2><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h2>
      <div class="moreinfo"> <span class="on"><a href="[!--this.classlink--]">'.$classname.'</a></span> <span class="on">[!--newstime--]</span> <span>阅读([!--onclick--])</span> <span>'.$tags.'</span> </div>
    </div>
  </li>';
}
if($imgcount<1){
$listtemp='<li class="listpost_li">
    <div class="info" style="margin-left: 0px;">
      <h2><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h2>
      <div class="moreinfo"> <span class="on"><a href="[!--this.classlink--]">'.$classname.'</a></span> <span class="on">[!--newstime--]</span> <span>阅读([!--onclick--])</span> <span>'.$tags.'</span> </div>
    </div>
  </li>';
}

这样,就实现了多图展示的功能。
 

附注

本方案较为冗杂,且存在较多的重复代码,仅供参考。

本文地址:https://xzo.com.cn/develop/empire/1088.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国CMS点击指定图片放大功能怎么做(jQuery)
帝国CMS点击指定图片放大功能怎么做(jQuery)

对于存在大图的站点而言,不能将图片放大无疑是一种功能上的缺陷。那么,帝国CM...

8 1383
PHPCMS可以转为帝国CMS程序吗?
PHPCMS可以转为帝国CMS程序吗?

如今phpcms由于停止更新不能继续用下去了,我们就更加推荐帝国。那么,phpcms可...

23 840
帝国cms文章列表、详情怎样实时显示点击数?
帝国cms文章列表、详情怎样实时显示点击数?

常有客户要求文章列表、详情能够实时显示点击数,但又不想将静态页面改为动态...

6 536
帝国cms怎样展示会员总数与最新注册的会员名称?
帝国cms怎样展示会员总数与最新注册的会员名称?

如果网站会员数量较多,展示会员总数与最新注册会员名可以有效提升用户留存。...

3 389
帝国cms开发中英文双语站点怎样让上一页下一页变成英文?
帝国cms开发中英文双语站点怎样让上一页下一页变成英文?

在企业站点建设过程中,我们常需要用到中英文双语。但模板尚且好说,分页的文字...

0 799
帝国CMS怎样验证后台发布信息标题是否重复?
帝国CMS怎样验证后台发布信息标题是否重复?

想要在帝国cms后台禁止发布标题相同的信息,或是在发布信息时验证一下标题是...

2 631
帝国CMS怎样配置勾选会员注册协议才能注册
帝国CMS怎样配置勾选会员注册协议才能注册

帝国CMS默认注册是没有会员注册协议的。但如果从严谨的角度出发,不勾选&ldqu...

0 592
帝国cms怎样修改系统模型ID
帝国cms怎样修改系统模型ID

帝国cms默认是不允许修改系统模型ID的,因为一旦修改牵扯较大。那么,如果一定...

0 728
推荐插件
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 668
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 477
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 352
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 664
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 936
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 495
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 412
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 850
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入