当前位置: 首页 > cms教程

帝国cms里如何提取内容里的第一张图片为标题 图片

时间:2026-01-31 14:06:11

如何批量从帝国CMS的内容字段提取图片,作为标题图片?办法很多,可以用字段函数, 可以在内容模板里的加php代码处理,也可以用二开助手方便准确的完成。但是,总有那么一些大牛人,希望执行sql语句,一键搞定。
假定内容字段为newstext,存在副表中,假定是新闻表。那么副表就是[!db.pre!]ecms_news_data_1,主表是 [!db.pre!]ecms_news。
需要考虑以下几点:
1. 数据表的newstext内容,不是纯洁的,是用addslashes函数处理过的。
2. 假定 newstext的html代码正规,图片具体这样的格式 src="***.jpg" ,那么在数据库中是这样存储的 src="***.jpg"
3. 反斜杠真是个讨厌的东西,可是我们离不了他,在mysql语句中,我们用一个函数 来生成字符串",这个函数就是char(92,34)
看语句:
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),char(92,34),''),'.jpg') where a.newstext like '%.jpg%' and b.titlepic='' and a.id=b.id;
他可以取出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, '.jpg', 1),'src=',-1),char(92,34),''),'.jpg') where a.newstext like '%.jpg%' and b.titlepic='' and a.id=b.id;


上一篇:帝国cms自动填写alt和title的解决办法(帝国cms怎么获取自定义id)
下一篇:帝国模板列表栏目页面模板如何调用当前栏目ID方法是什么?
提取内容图片
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素