Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Есть ли в пхп функция для склейки урлов
цитата
19/01/08 в 19:52
 dpurnovich
ну к примеру ты ей два параметра а она итоговый - правильный
http://dom.com/dir1/dir2/dir3/file.htm + ../../file2.htm = http://dom.com/dir1/file2.htm
http://dom.com/dir1/file.php?d=f&f=5 + ?h=j = http://dom.com/dir1/file.php?h=j
http://dom.com + file.htm =http://dom.com/file.htm
http://dom.com/file.htm + file2.htm = http://dom.com/file2.htm
ну понятно... все возможные варианты как браузер это делает
цитата
20/01/08 в 09:04
 JM
Работает на ура
http://www.phpclasses.org/browse/package/888.html

* URL class intended for http and https schemes
*
* This class allows you store absolute or relative URLs and access it's
* various parts (scheme, host, port, part, query, fragment).
*
* It will also accept and attempt to resolve a relative URL against an
* absolute URL already stored.
*
* Note: this URL class is based on the HTTP scheme.
*
* Example:
* <code>
* $url =& new URL('http://www.domain.com/path/file.php?query=blah');
* echo $url->get_scheme(),"\n"; // http
* echo $url->get_host(),"\n"; // domain.com
* echo $url->get_path(),"\n"; // /path/file.php
* echo $url->get_query(),"\n"; // query=blah
* // Setting a relative URL against our existing URL
* $url->set_relative('../great.php');
* echo $url->as_string(); // http://www.domain.com/great.php
* </code>
цитата
20/01/08 в 20:45
 KpeBeg
dpurnovich писал:
ну к примеру ты ей два параметра а она итоговый - правильный
http://dom.com/dir1/dir2/dir3/file.htm + ../../file2.htm = http://dom.com/dir1/file2.htm
http://dom.com/dir1/file.php?d=f&f=5 + ?h=j = http://dom.com/dir1/file.php?h=j
http://dom.com + file.htm =http://dom.com/file.htm
http://dom.com/file.htm + file2.htm = http://dom.com/file2.htm
ну понятно... все возможные варианты как браузер это делает

Если честно, то я ничего не понял.
Как понимаю пхп тем более не поймет)

http://dom.com/file.htm + file2.htm = http://dom.com/file2.htm Это как получилось? Т.е file.htm убираеться.

По 1ому http://dom.com/dir1/dir2/dir3/file.htm + ../../file2.htm = http://dom.com/dir1/file2.htm
Разделить можно explode и после 1 слеша убрать нафиг, и прибавить тупо $fulllenght.$file2 Получиться http://dom.com/dir1/dir2/dir3/../../file2.htm Но работать все равно будет здраво.

http://dom.com/dir1/file.php?d=f&f=5 + ?h=j = http://dom.com/dir1/file.php?h=j Тут отсекаеться все после ? так же експлоде можно и притыкиваеться точно так же как и в 1ом.

http://dom.com + file.htm =http://dom.com/file.htm
Проверить если последний символ не равен слешу, то $url.'/'.$file

Примерно так
цитата
28/01/08 в 13:31
 _s_[sov]
в php есть "." - операция конкатенации (объединения строк)
Код:
echo $a.$b."\n";

p.s. если я верно понял суть вопроса.
цитата
28/01/08 в 14:09
 xreload
нет такого в php, нужно ручками написать метод.
цитата
28/01/08 в 14:58
 Lamagro
я ручками писал - парсил урлы и сравнивал по домену, а потом выбирал нужный, здесь выбрав что нужно сконкатенировать icon_smile.gif
цитата
28/01/08 в 16:10
 ibiz
!хинт
http://ru2.php.net/parse_url
цитата
28/01/08 в 18:00
 _s_[sov]
ibiz, насколько я помню функция parse_url() разбирает урл. Или ты предлагаешь после разбора склеивать?
цитата
28/01/08 в 20:22
 xreload


да, тут только непонятно, каким клеем склеивать лучше ПВА или Момент ? smail21.gif


Эта страница в полной версии