我想将几百个网址更改为帖子内的图片。 URL是指向非活动imagehost上的映像的链接。我有备份,我将它们加载到一个新的imagehost,但我有一个替换问题,因为旧链接有可变,随机的长度。
例如:
hostname.org/image/ciiidl/file_name.jpeg
其中" ciiidl"生成随机
我在SQL中编写了一个命令,但遗憾的是没有替换URL:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'https://old_hostname.org/image/[^a-zA-Z0-9]/','https://new_hostname.com/Img/')
我需要使用REGEXP,但我不知道如何与REPLACE结合使用。
答案 0 :(得分:0)
我认为你只需要:
UPDATE wp_posts
SET post_content = concat(substring_index(post_content, '/image', 1),
'/Img/',
substring_index(post_content, '/', -1)
)
WHERE post_content LIKE '%/image/%';
答案 1 :(得分:0)
之前我做了这个更改,但是当链接是静态的时候:
UPDATE wp_posts SET post_content= REPLACE(post_content, 'https://old_hostname.org/image/','https://new_hostname.com/img/')
我刚刚更改了网址的开头。文件名未更改。