由于您必须将 mysql 用于您的 wordpress 数据库,因此您可以按照您的要求通过正则表达式进行此替换:
正则表达式模式: #http://(www.)?hotfile.com/\w+/\w+/\w+/#
更换模式:http//p.music.cdndomain.com/vod/music.folder/2010/
另一种更简单的解决方案是使用 mysql 的简单字符串函数提取 mp3 文件名,例如
使用SUBSTRING或SUBSTRING_INDEX提取您的 mp3 文件的文件名,即在您的 hotfiles url 中最后一次出现“/”之后查找字符串。
使用CONCAT将检索到的文件名附加到新的 url 前缀并在数据库中更新它。
这是一个示例,您可以为您的数据库适当地更改它:
mysql> select * from test_songs;
+---------------------------------------------------------------+
| song_url |
+---------------------------------------------------------------+
| http://hotfile.com/dl/157490069/c8732d4/mp3_file_name.mp3 |
| http://www.hotfile.com/dl/123412312/dd732d4/mp3_song_name.mp3 |
+---------------------------------------------------------------+
取子串:
mysql> select SUBSTRING_INDEX(song_url,"/",-1) from test_songs;
+----------------------------------+
| SUBSTRING_INDEX(song_url,"/",-1) |
+----------------------------------+
| mp3_file_name.mp3 |
| mp3_song_name.mp3 |
+----------------------------------+
2 rows in set (0.03 sec)
创建最终更新查询:
mysql> Update test_songs set song_url =
CONCAT("http//p.music.cdndomain.com/vod/music.folder/2010/",
SUBSTRING_INDEX(song_url,"/",-1)) ;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
检查结果:
mysql> select * from test_songs;
+---------------------------------------------------------------------+
| song_url |
+---------------------------------------------------------------------+
| http//p.music.cdndomain.com/vod/music.folder/2010/mp3_file_name.mp3 |
| http//p.music.cdndomain.com/vod/music.folder/2010/mp3_song_name.mp3 |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
完毕 !