·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

sql 语句批量替换文章内容指定的字符串

141 6
发表于 2023-5-18 15:48:46 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
sql 语句批量替换文章内容特定的字符串,但是要排除图片链接的字符,怎么排除?  比如我要替换文章内容里面的年份数字 2022,变成2023,但是图片链接的url含有2022,不能更改。
我要说一句 收起回复

评论6

CrystαlLv.8 发表于 2023-5-18 15:49:07 | 显示全部楼层
实在不会,就先吧链接里的2022 都改成一个特定的数字 比如2022999这样的。
链接里的都带-或者/或者网址的,这样好改。然后在执行文章里的2022改成2023.下一步在把2022999改成2023 就解决了。
笨人用笨法呗。
我要说一句 收起回复
CrystαlLv.8 发表于 2023-5-18 15:49:51 | 显示全部楼层
你把内容连续的多写点规则,就不会替换与规则不相符的图片链接了
我要说一句 收起回复
拾光Lv.8 发表于 2023-5-18 15:50:24 | 显示全部楼层
比如你替换的是,2022年,,只会找到带年的2022去替换成2023年

图片链接,一般都是2022/05/18这种规则的,所以,当然不会替地下面的这种规则了
我要说一句 收起回复
婷姐Lv.8 发表于 2023-5-18 15:51:22 | 显示全部楼层
为了替换除<img>标签之外的文本内容,我们可能需要使用更高级的字符串处理函数。 但是,标准的SQL功能可能不足以处理此类操作。 对于复杂的文本处理,可能需要在服务器端代码中执行操作或者使用更高级的数据库功能。 例如,一些数据库系统(如MySQL)提供了正则表达式功能,可能可以实现此类操作。

不过,我还是会给你一个基于MySQL的示例。请注意,这可能无法处理所有可能的情况,特别是如果<img>标签嵌套在其他HTML标签中时。

sql
Copy code
UPDATE your_table
SET body = REGEXP_REPLACE(
    body,
    '(2022)(?![^<]*>|[^<>]*</)',
    '2023'
)
WHERE body LIKE '%2022%';
这个函数将在body字段中查找所有的'2022'并替换成'2023',除非'2022'出现在<img>标签中。请记住在实际环境中测试这个函数,确保其行为符合你的预期。此外,可能需要根据具体的数据库类型和版本进行调整。

然而,建议你在更高级别处理这种情况,如使用Python、Java等后端语言的HTML解析库,或者更复杂的数据库如PostgreSQL的特定扩展。
我要说一句 收起回复
IT618发布Lv.8 发表于 2023-5-18 15:51:52 | 显示全部楼层
url 不是固定的吗? 你这个肯定要针对特定字段去替换吧
我要说一句 收起回复
TyCodingLv.8 发表于 2023-5-18 15:52:14 | 显示全部楼层
上面那老哥说的感觉可以 有用吗
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.141.244.201,222.216.122.72,GMT+8, 2024-4-29 06:09 , Processed in 0.223041 second(s), 124 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表