Где нужно удалить 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
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);так как не известно, сколько будет точек.