Вот в моем коде:
<?php $urls = array('http://img.ruphp.com/php/image1.jpg', 'http://img.ruphp.com/php/image2.jpg', 'http://img.ruphp.com/php/image3.jpg' ); while(list($i, $uri) = each($urls)) { $urls[$i] = foo($uri); } print_r($urls); function foo($uri) { $url = parse_url($uri); $paths = explode('/', $url['path']); return sprintf("%s://%s/%s", $url['scheme'], $url['host'], end($paths)); } ?>
вывод
Array ( [0] => http://img.ruphp.com/php/image1.jpg [1] => http://img.ruphp.com/php/image2.jpg [2] => http://img.ruphp.com/php/image3.jpg )
Как исправить выход для этого результата:
Array ( [0] => http://www.mywebsite.com/image1.jpg [1] => http://www.mywebsite.com/image2.jpg [2] => http://www.mywebsite.com/image3.jpg )
Установите для поля хоста все, что вы хотите.
function foo($uri) { $url = parse_url($uri); $paths = explode('/', $url['path']); $url['host'] = 'www.mywebsite.com'; return sprintf("%s://%s/%s", $url['scheme'], $url['host'], end($paths)); }
Выход :
Array ( [0] => http://www.mywebsite.com/image1.jpg [1] => http://www.mywebsite.com/image2.jpg [2] => http://www.mywebsite.com/image3.jpg )