[一包烟]求助个SQL命令(正则)-siyi

需求:

由于突发奇想把WordPress自动生成的缩略图片都删除了,只保留原图,现在网站很多文章显示错误。想要通过SQL命令修复一下。

目前文章的图片是:https://example.com/wp-content/uploads/2021/07/73194819431-1920×1080.png,由于缩略图已经删除,所以得改成https://example.com/wp-content/uploads/2021/07/73194819431.png才能访问。
也就是需要删除"-1920×1080", 文件名随机,缩略图尺寸随机,文件名后缀随机。
估计需要用到正则,不过我完全不会。

50元请大佬帮帮忙,经费有限,先到先得。万分感谢!

热议
推荐楼 liuyangge

可以先改下id测试一下看看,没问题把where条件删掉,全部跑一遍就ok了

推荐楼 siyi 1小时前

为什么要随机?

这个可能需要遍历,然后删除-1920×1080

表达不清哈,意思就是要删除-1920×1080之类的。因为图片大小不一样,所以产生的缩略图尺寸也是随机的呀。
可能是-1024×768或者-300×200, 不一定。

2楼 唐王李世民 1小时前

为什么要随机?

这个可能需要遍历,然后删除-1920×1080

sql不懂

3楼 airline 1小时前

你家一包烟50

5楼 siyi 1小时前

你家一包烟50

我不抽烟……
反正看别人抽的烟大概这个价格?

6楼 airline 1小时前

我不抽烟……
反正看别人抽的烟大概这个价格?

有钱人像我们这种穷人连十块的都抽不起

7楼 airline 1小时前

这边建议php遍历然后替换
截取-到.png之间的字符然后前面拼接上- replace一下就行了

8楼 siyi 半小时前

这边建议php遍历然后替换
截取-到.png之间的字符然后前面拼接上- replace一下就行了 …

有没有那种能喂到嘴里的那种?

9楼 van 半小时前

你这个url是存在db里面的吗?

12楼 siyi 半小时前

你这个url是存在db里面的吗?

是啊,存在mysql里
wp_posts表的post_content字段里。

13楼 siyi 半小时前

不用正则,update + replace函数即可

不行的哦,因为图片大小不是固定的,所以后面不一定是-1920×1080,可能是800×1080,1200×1080,1920×300, 1920×1000 各种可能。

14楼 siyi 半小时前

先备份数据库

https://hostloc.com/thread-844936-1-1.html

这个不行哦
replace("字符串", "被替换内容","替换内容")
被替换内容怎么填,分辨率随机的呢。

15楼 airline 24分钟前

有没有那种能喂到嘴里的那种?

懒得写

16楼 落英缤纷 23分钟前

这个不行哦
replace("字符串", "被替换内容","替换内容")
被替换内容怎么填,分辨率随机的呢。 …

那就替换多次啊看看有几种分辨率

17楼 siyi 20分钟前

那就替换多次啊看看有几种分辨率

不是啊,有6万多张图片呢,什么分辨率的都有,不一定是标准尺寸的。
可能是1920 也可能是1919,1918 1921……

18楼 pi9 18分钟前

好久没用WP了,随手给你写一个,表名和字段是按照我记忆来的。

update wp_posts set post_content = REGEXP_REPLACE(post_content, ‘\-[0-9]{3,5}x[0-9]{3,5}’, ”)where 1;

执行前先备份一下这张表。

19楼 liuyangge 9分钟前

不行的哦,因为图片大小不是固定的,所以后面不一定是-1920×1080,可能是800×1080,1200×1080,1920×300,…

喔 没注意看题,如果尺寸少一些的话 多跑几次就好了,多的话用其他语言跑一下就好了

20楼 siyi 8分钟前

好久没用WP了,随手给你写一个,表名和字段是按照我记忆来的。

update wp_posts set post_content = REGEX …

大佬,我的是mysql5.7 不是mysql8,没有regexp_replace怎么办

22楼 uzerhode 6分钟前

寻找第一个’-‘,把它及之后全删了,再新字段加个.png
这个要正则么?

23楼 pi9 3分钟前

本地装个8 把数据修复了再导回线上。 你这个需求不用我那个函数,修复不了

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

发表回复