PHP:替换url的第一部分

PHP:替换url的第一部分,php,Php,我想更改我的url的第一部分 我有这个网址 www.website.com/download/long-file-name-123 我想把下载部分改成这样的下载 www.website.com/downloads/long-file-name-123 问题是url也可能是这样的: www.website.com/download/files/file/long-file-name-123 所以我需要一些方法来始终只更改url的第一部分 <?php echo str_replace("

我想更改我的url的第一部分

我有这个网址

www.website.com/download/long-file-name-123
我想把下载部分改成这样的下载

www.website.com/downloads/long-file-name-123
问题是url也可能是这样的:

www.website.com/download/files/file/long-file-name-123
所以我需要一些方法来始终只更改url的第一部分

<?php
echo str_replace("download","downloads","www.website.com/download/long-file-name-123");
?>
现场演示:


到目前为止你做了什么?我想你可能会发现parse_url很有用。这个url是你接收请求的网站地址,还是其他网站(例如用于cURL请求的网站)?我有这个url-那不是url;以scheme f.e.http开头,后跟冒号:等等。F.e。http://www.website.com/download/long-file-name-123.
<?php
$urls = array("www.website.com/download/long-file-name-123","www.website.com/download/files/file/long-file-name-123");
$arrlength = count($urls);
for($x = 0; $x < $arrlength; $x++)
{
    $pos = strpos($urls[$x], "download");
    if ($pos !== false) {
        $newstring = substr_replace($urls[$x], "downloads", $pos, strlen("download"));
        echo ($newstring);
        echo ("\n");
    }
}
?> 
www.website.com/downloads/long-file-name-123
www.website.com/downloads/files/file/long-file-name-123
php > $url = 'www.website.com/download/long-file-name-123';
php > $newUrl = str_replace('www.website.com/download', 'www.website.com/downloads', $url);
php > var_dump($newUrl);
string(44) "www.website.com/downloads/long-file-name-123"