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; }