Есть ли PHP-эквивалент URI :: ParseSearchString в Perl? - PullRequest
1 голос
/ 15 апреля 2011

Я выполняю некоторую работу для клиента, которая включает в себя анализ справочной информации из Google и др., Чтобы настроить таргетинг различных частей страницы на ключевые слова поиска пользователя.

Я заметил, что в CPAN Perl есть модуль с именем URI :: ParseSearchString , который, кажется, делает именно то, что мне нужно. Проблема в том, что мне нужно сделать это на PHP.

Итак, чтобы не изобретать велосипед, кто-нибудь знает, существует ли библиотека для PHP, которая делает то же самое или подобное?

Ответы [ 3 ]

3 голосов
/ 15 апреля 2011

parse_str() - это то, что вы ищете.

Вы можете дополнительно использовать parse_url() для получения строки поиска.

0 голосов
/ 15 апреля 2011

Возможно, это слишком неэффективно, или http_referer не показывает полный URI ...

function parse_uri($uri) {
  if (substr_count('?', $uri) > 0) { 
    $queryString = explode('?', $uri);
    return parse_str($queryString[1]);
  } else { 
    return parse_str($uri);
  }
}


if (isset($_SERVER['HTTP_REFERER'])) { 
        print_r(parse_uri($_SERVER['HTTP_REFERER']));
}
0 голосов
/ 15 апреля 2011

Я автор модуля. Насколько я знаю, я никогда не видел ничего подобного для PHP. Если вы что-нибудь встретите, пожалуйста, дайте мне знать.

При этом я не могу представить, что это очень сложно перенести на PHP, и я могу попытаться сделать это, если вы не найдете ничего подобного.

Спирос

...