Главная > PHP > php get parameters array from url

php get parameters array from url

В примере URL
http://revolution.rhga.ru/section/detail.php?section=obrazy-revolucii&element=za-velikuyu-edinuyu-i-nedelimuyu-rossiyu&sphrase_id=4555549

нужно привести к виду
http://revolution.rhga.ru/section/obrazy-revolucii/za-velikuyu-edinuyu-i-nedelimuyu-rossiyu.html

1. Получим массив параметров и их значений:

function format_url($url){
	$result=array();
	$pu=parse_url($url);
	if($pu['query']){
		$parts=explode('&',html_entity_decode($pu['query']));
		foreach($parts as $part){
			$param=explode('=',$part);
			$result[$param[0]]=$param[1];
		}
	}
	return $result;
}
print_r(format_url($url));
Array
(
    [section] => obrazy-revolucii
    [element] => za-velikuyu-edinuyu-i-nedelimuyu-rossiyu
    [sphrase_id] => 4555549
)

2. Затем сформируем URL в нужном нам формате:

function format_url($url){
	$result=$url;
	$arr=array();
	$pu=parse_url($url);
	if($pu['query']){
		$parts=explode('&',html_entity_decode($pu['query']));
		foreach($parts as $part){
			$param=explode('=',$part);
			$arr[$param[0]]=$param[1];
		}
		if($arr['section']&&$arr['element']){
			$result='/section/'.$arr['section'].'/'.$arr['element'].'.html';
		}
	}
	return $result;
}
Categories: PHP Tags:
  1. Пока что нет комментариев.
Похожие публикации