在PHP中使用正则表达式更改文件链接路径结构

时间:2018-06-24 15:57:27

标签: php regex

如何使用PHP更改文件链接路径结构? 例如,我想这样做:

https://old.sitename.com/dir/dir2/dir3/file -name.xxx

https://new.sitename.com/?x=fixparam&f=1111file-name.xxx

fixparam1111是固定值。在文件名中使用/[^a-zA-Z0-9\-\_.]/

有人可以帮助我吗? TNX!

2 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式:

(https:\/\/[\w.]*)([\/\w]*)file ([-\.\w]*)

Demo

答案 1 :(得分:0)

好的,我可以找到解决方案!一个可以执行此操作的PHP函数!

$path变量是旧路径,此函数返回我需要的新路径:

function old_to_new_dlpath($path) {

    $old_name = basename($path);
    $new_name = preg_replace("/[^a-zA-Z0-9\-\_.]/", '-', $old_name);
    $fix_name = preg_replace('/(_|-)+/', '$1', $new_name);
    $full_url = 'https://new.sitename.com/?x=fixparam&f=1111' . $fix_name;
    return $full_url;
}