帝国cms常见问题:正则提取正文newstext字段中所有图片的方法

在模板的制作过程中,我们常常会遇到需要从正文newstext中提取图片的问题,由于newstext是整块图文输出,所以我们需要对newstext正文模块进行处理,以保证我们所需要的内容是图片!现

效果图如下PolECMSPLUS

帝国cms正则提取正文newstext字段中所有图片的方法PolECMSPLUS

在模板的制作过程中,我们常常会遇到需要从正文newstext中提取图片的问题,由于newstext是整块图文输出,所以我们需要对newstext正文模块进行处理,以保证我们所需要的内容是图片!PolECMSPLUS

现在我们所处理的环境是内容模板,关于灵动标签在首页调用正文图片的方式大致相同,如果你实在不知道如何在灵动标签中调用正文中的图片,可以留言,有必要的我会更新关于灵动标签的文章,好了,现在我们正式开始讲解怎么在内容模板中提取正文第一张图以及多张图片,以达到不同的图片样式结构!PolECMSPLUS

<?phpPolECMSPLUS
$newstext = stripcslashes($navinfor['newstext']);   //正文newstext数据PolECMSPLUS
preg_match_all('/<img.*?src="(.*?)".*?>/is', $newstext, $ImgArr);   //正则提取正文图片PolECMSPLUS
$ImgArr = array_unique($ImgArr[1]); //图片如有复生将去重复PolECMSPLUS
$Imgno = 0; //给定初始序号PolECMSPLUS
foreach ($ImgArr as $v) {   //判断有多少张图PolECMSPLUS
    $Imgno ++;   //循环输出每一张图PolECMSPLUS
?>PolECMSPLUS
<img src="<?=$v?>" alt="<?=$navinfor['title'] ?>第<?=$Imgno ?>张"></a>    //输出的图片样式格式PolECMSPLUS
<?phpPolECMSPLUS
}PolECMSPLUS
?>PolECMSPLUS

其他字段一样可以依次处理。PolECMSPLUS

如下示例代码:

<p>&lt;?php<br />$newstext = stripcslashes($navinfor[&#39;newstext&#39;]); &nbsp; //正文newstext数据<br />preg_match_all(&#39;/&lt;img.*?src=&quot;(.*?)&quot;.*?&gt;/is&#39;, $newstext, $ImgArr); &nbsp; //正则提取正文图片<br />$ImgArr = array_unique($ImgArr[1]); //图片如有复生将去重复<br />$Imgno = 0; //给定初始序号<br />foreach ($ImgArr as $v) { &nbsp; //判断有多少张图<br />&nbsp; &nbsp; $Imgno ++; &nbsp; //循环输出每一张图<br />?&gt;<br />&lt;img src=&quot;&lt;?=$v?&gt;&quot; alt=&quot;&lt;?=$navinfor[&#39;title&#39;] ?&gt;第&lt;?=$Imgno ?&gt;张&quot;&gt;&lt;/a&gt; &nbsp; &nbsp;//输出的图片样式格式<br />&lt;?php<br />}<br />?&gt;</p>
分享到 :
相关推荐

发表评论

登录... 后才能评论

评论(3)

加入本站VIP会员订阅计划,海量资源免费下载查看

目前为止共有3位优秀的VIP会员加入!

立即加入VIP会员