|
|
|
| Всем доброго дня!
Есть код предыдущего адреса страницы:
<?php
$Ref = $_SERVER['HTTP_REFERER']; // получает URL, с которого пришёл посетитель
echo $Ref;
?>
|
Допустим в результате выводится:
http://www.site.ru/katalog/stranica.php
А как получить три отдельных результата выполнения кода:
1) www.site.ru
2) katalog
3) stranica.php | |
|
|
|
|
|
|
|
для: sega_z
(03.05.2012 в 11:22)
| | Воспользоваться parse_url (), полученный из нее 'path' разбить explode () и дальше разложить как надо. | |
|
|
|
|
|
|
|
для: MHz
(03.05.2012 в 11:59)
| |
<?
preg_match_all("#(http)?([^:/]+)#","http://www.site.ru/katalog/stranica.php",$match);
echo $match[0][1]."<br>";
echo $match[0][2]."<br>";
echo $match[0][3]."<br>";
?>
|
для автора темы, хотя сразу через explode проще | |
|
|
|
|
|
|
|
для: ladan
(03.05.2012 в 12:18)
| | Спасибо, думаю так действительно проще ... | |
|
|
|
|
|
|
|
для: ladan
(03.05.2012 в 12:18)
| | Если адрес содержит: http://www.site.ru/katalog/stranica.php?id=10
То данный код выводит:
www.site.ru
katalog
stranica.php?id=10
Как избавиться от ....?id=10 | |
|
|
|
|
|
|
|
для: MHz
(03.05.2012 в 11:59)
| | Спасибо, буду разбираться... | |
|
|
|
|
|
|
|
для: sega_z
(03.05.2012 в 12:20)
| |
<?
preg_match_all("#([^:/?]+)#","http://www.site.ru/katalog/stranica.php?id=10",$match);
echo $match[0][1]."<br>";
echo $match[0][2]."<br>";
echo $match[0][3]."<br>";
?>
|
но это не самый лучший способ, хотя, когда знаешь, что будет в ссылке, то пойдет | |
|
|
|
|
|
|
|
для: ladan
(03.05.2012 в 21:40)
| | зачем использовать preg_match_all
если есть parse_url () специальная функция для работы с url | |
|
|
|
|
|
|
|
для: Valick
(03.05.2012 в 22:55)
| | С помощью parse_url () удалось вытащить корневой каталог: www.....ru
$url = $_SERVER['HTTP_REFERER'];
$url_host = parse_url($url, PHP_URL_HOST);
|
Как подобным образом вырезать только каталог "car" из ссылки: http://www.....ru/car/teshnika.php?razd=speztehnika | |
|
|
|
|
|
|
|
для: sega_z
(09.05.2012 в 16:03)
| | не совсем понял что значит вырезать, так можно разбить путь
<?php
$URL = 'http://www.....ru/car/teshnika.php?razd=speztehnika';
$Data = array ();
if ($Data = parse_url ($URL))
{
if (isset ($Data['path']) && is_string ($Data['path']) && $Data['path'] != '')
{
$Temp = array ();
if (($Temp = explode ('/', $Data['path'])) && sizeof ($Temp) > 0)
{
print_r ($Temp);
}
}
}
/*
Array
(
[0] =>
[1] => car
[2] => teshnika.php
)
*/
?>
|
| |
|
|
|
|
|
|
|
для: MHz
(09.05.2012 в 18:06)
| | Спасибо! То что надо! | |
|
|
|
|
|
|
|
для: sega_z
(03.05.2012 в 11:22)
| | parse_url, parse_str, pathinfo | |
|
|
|