Правильный разбор строки с GET-запросом на PHP: parse_url() + parse_str()

Для того, чтобы разобрать GET-запрос по параметрам в PHP достаточно встроенных средств, точнее функций. Итак, не нужно мудрить, используйте parse_url() и parse_str(). В общем далее смотрим на очень простой, но тем не менее практический пример.

Пусть у нас есть строка следующего вида: http://www.google.ru/imgres?imgurl=http://red-book-cms.ru/wp-content/uploads/2012/11/Panel-MODX-Revolution.png&imgrefurl=http://red-book-cms.ru/cms/modx/revolution/modx-revolution-integratsiya-dizayna.html&usg=__w2g6c241k1JfpW7eY88Z3y4VoVI=&h=938&w=1215&sz=59&hl=ru&start=1&zoom=1&tbnid=mClPy6rPt4rLpM:&tbnh=116&tbnw=150&ei=9FWAUsm_Fur44QTkmIC4Aw&itbs=1&sa=X&ved=0CCsQrQMwAA.

Нам с вами необходимо будет получить все её GET-параметры. Код будет вот таким:

<?php
$url = 'http://www.google.ru/imgres?imgurl=' .
        'http://red-book-cms.ru/wp-content/uploads/2012/11/Panel-MODX-Revolution.png' .
        '&imgrefurl=http://red-book-cms.ru/cms/modx/revolution/modx-revolution-integr' .
        'atsiya-dizayna.html&usg=__w2g6c241k1JfpW7eY88Z3y4VoVI=&h=938&w=1215&sz=59&hl' .
        '=ru&start=1&zoom=1&tbnid=mClPy6rPt4rLpM:&tbnh=116&tbnw=150&ei=9FWAUsm_Fur44Q' .
        'TkmIC4Aw&itbs=1&sa=X&ved=0CCsQrQMwAA';
parse_str(parse_url($url, PHP_URL_QUERY), $parameters);
print_r($parameters);
?>

А результат со всеми потрохами будет следующим:

Array
(
    [imgurl] => http://red-book-cms.ru/wp-content/uploads/2012/11/Panel-MODX-Revolution.png
    [imgrefurl] => http://red-book-cms.ru/cms/modx/revolution/modx-revolution-integratsiya-dizayna.html
    [usg] => __w2g6c241k1JfpW7eY88Z3y4VoVI=
    [h] => 938
    [w] => 1215
    [sz] => 59
    [hl] => ru
    [start] => 1
    [zoom] => 1
    [tbnid] => mClPy6rPt4rLpM:
    [tbnh] => 116
    [tbnw] => 150
    [ei] => 9FWAUsm_Fur44QTkmIC4Aw
    [itbs] => 1
    [sa] => X
    [ved] => 0CCsQrQMwAA
)

Т.е. на выходе мы с вами получили аккуратненький такой массив со списком параметров запроса, вот и все.

Опубликовано 11-11-2013 в 13:34


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты