[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена части URL
grafnet
Вообщем есть ссылка вида http://www.site.ru/blablabla/logo.png
Где нужно удалить http://www.site.ru/

Попробовал сделать так:

<?php
$text = "http://www.site.ru/img/logo.png";
$newtext = preg_replace("#.*/{0,3}#i", "", $text);
echo $newtext;
?>

Но не работает правильно.



Спустя 7 минут, 36 секунд (29.05.2011 - 18:51) killer8080 написал(а):
а parse_url() не устраивает?

Спустя 57 минут, 32 секунды (29.05.2011 - 19:49) grafnet написал(а):
Дело в том, что не известно какой будет ссылка. В одном случае будет только [path], в другом - [path]+[query](если есть). Может можно получать из рандомной ссылки все элементы сразу, кроме [scheme] и [host] ?

Спустя 29 минут, 11 секунд (29.05.2011 - 20:18) killer8080 написал(а):
Тогда так
<?php
$text = "http://www.site.ru/img/logo.png";
$newtext = preg_replace("/^https?:\/\/[^\/]+/i", "", $text);
echo $newtext;
?>

Спустя 1 час, 22 минуты, 22 секунды (29.05.2011 - 21:41) grafnet написал(а):
Да, но путь может быть и относительным.

Спустя 1 минута, 36 секунд (29.05.2011 - 21:42) killer8080 написал(а):
Цитата (grafnet @ 29.05.2011 - 21:41)
Да, но путь может быть и относительным.

тогда он вернётся без изменений

Спустя 33 минуты, 51 секунда (29.05.2011 - 22:16) grafnet написал(а):
Наверно, я неправильно объяснил.
Cсылки могут быть относительными и абсолютными. Нужно удалить все до первого каталога, т.е. http://домен или "."(указывающею на путь от корня)

То бишь из http://www.site.ru/img/logo.png и ./img/logo.png получить /img/logo.png

Спустя 1 час, 28 минут, 23 секунды (29.05.2011 - 23:44) killer8080 написал(а):
ну значит нужно это учитывать в регулярке ;)

 preg_replace("/^https?:\/\/[^\/]+\/|^\.\//i", "/", $text);

Спустя 19 часов, 36 минут, 11 секунд (30.05.2011 - 19:21) grafnet написал(а):
Ага, спасибо. Только я еще немного изменил
preg_replace("/^https?:\/\/[^\/]+\/|^\.*\//i", "/", $text);
так как не известно, сколько будет точек.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.