使用SQL帝国批量获取正文内容第一张图为标题缩略图片
帝国cms内容批量替换
方法一:栏目-其他相关-批量替换字段值方法二:通过sql替换
UPDATE phome_ecms_news_data_1 SET newstext=REPLACE(newstext,'原来','现在')
这是一个读图的年代,海豚每次发文章没有图都不好意思发出来,怎么也得去搞一张图来撑场面,哈哈!比如下边这张
好了,看过了妹子,回到正题,很多人的帝国都用采集工具在采集网络中的数据,还有的人是帝国建站很长时间了,那个时候懂得不多,没有关注到标题图片,现在呢想做标题图片了,又因为数据量相当的庞大,心有余而力不足,但现在你是幸运的,你遇到了海豚,跟着海豚来一起获取你心爱的标题图片吧。
update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=\\', -1),'.gif',1),'"',''),'.gif') where a.newstext like '%.gif%' and b.titlepic='' and a.id=b.id; update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=\\', -1),'.jpg',1),'"',''),'.jpg') where a.newstext like '%.jpg%' and b.titlepic='' and a.id=b.id; update [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b set b.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=\\', -1),'.png',1),'"',''),'.png') where a.newstext like '%.png%' and b.titlepic='' and a.id=b.id;
看代码,不用作任何修改,直接填入到SQL命令中心就可以,网上也有人提供过相关代码,但他的代码运行之后在数据库会出现\斜杠,在后台查看的时候也发现不了,调用的时候也会出问题,如根本调用不出来标题图片,我这个代码是没有这类问题的,大家可以放心使用,如果你不知道帝国在哪里贴SQL命令的话,可以参考这篇文章
如果你觉得这个方式麻烦,不能解决你的问题,你还可以关注我博客写的帝国CMS其它获取第一张图片的方法,如通过模板来解决第一张图(这方式可以方便接入七牛),再如通过PHP方式来获取标题图片,这样你就可以基本抛弃帝国提供的标题图片功能了。
好了,还有一个需要说的,我所提供的代码是默认的数据表,如果你要操作的是帝国其它模型的数据表的话,需要将代码中的数据表名称改一下,好了,到这里如果你还有什么不明白的可以联系我,也可以留言在本文,我看见后会回复你的
其他:
可以自动在内容页或列表页获取内容的图片
<?php $sql=$empire->query("select * from {$dbtbpre}ecms_news order by onclick desc limit 1"); while($r=$empire->fetch($sql)){ $text=GetTxtFieldText($r[newstext]); //获取正文内容 $text1=substr($text,12);//去除exit $datanr=stripslashes($text1); //册除反 $pattern ="/.*src=\\"([^^]*?)\\".*/i"; //正则取图片 preg_match_all($pattern,$datanr,$matchess); $diypic=$matchess[1][0]; //取第一张图片地址 ?> <img src="<?=$diypic?>"> <?}?>
以上只对正文有用
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/panshaoSEO/3803.html