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

标签 php mysql

我们的数据库中有多个 URL,例如:

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

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

将成为:

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

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

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

最佳答案

您可以使用 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

关于php - 替换 URL 路径仅保留最后一部分 - 数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49014313/

相关文章:

javascript - 使用 PHP 将注释添加到数据库中(使用 AJAX 防止页面重新加载)

MYSQL子查询计数慢

PHP 页面在用户提交后存储表单输入变量

mysql - 根据job ID显示最新的ID和公司ID

php - Laravel 数据库模型中页面的深层链接值

php - 什么时候需要在 PHP 中启用 mbstring?

php - 用 PHP 生成 100 个 HTML 颜色代码的列表

java - 从纬度和经度查找邮政编码

mysql - 使用 eclipse 和 mysql 创建一个简单的登录页面

php mysql 导出 excel