替换仅保留最后一部分的URL路径 - 数据库查询

时间:2018-02-27 17:12:12

标签: php mysql

我们在数据库中有多个网址,如:

http://www.example.com/_73737337/dir1/dir2/image.jpg
http://www.example.com/_892/direc/picture.png
http://www.example.com/_029929292929/dir/did/dic/dif/gallery.gif

所有不同长度的路径,不同的目录等。我需要的是将文件名保留在最后并用新的域和目录替换它之前的所有内容。

例如:

http://www.example.com/_73737337/dir1/dir2/image.jpg

将成为:

http://www.newexample.com/images/image.jpg

AND

http://www.example.com/_029929292929/dir/did/dic/dif/gallery.gif

将成为:

http://www.newexample.com/images/gallery.gif

有没有办法通过查询数据库来做到这一点?大约有3000个网址需要更新。

这些网址位于内容中,而不是数据库中的独立条目。因此,查询必须从内容字段中选择它们并忽略其余内容。

1 个答案:

答案 0 :(得分:2)

你可以使用SUBSTRING_INDEX()和' /'作为分隔符。

示例

SELECT SUBSTRING_INDEX(image_url, '/', -1) AS filename
FROM table_name

以下是该功能文档的链接: https://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php