Можно ли создать надежное регулярное выражение php для получения строки поискового запроса из URL-адреса Google?

#php #regex

#php #регулярное выражение

Вопрос:

Возможный URL-адрес от Google может выглядеть так:

 https://www.google.co.in/search?q=user's search queryamp;oq=user's search queryamp;gs_l=serp.3...
  

таким образом, регулярное выражение выдаст: «поисковый запрос пользователя».

Комментарии:

1. Может быть php.net/manual/en/function.urldecode.php ?

2. Я бы сказал, что ответ «Да, это возможно».

3. почему регулярное выражение? это URL-адрес. есть функции для разбора URL-адресов на их основные компоненты. не используйте бензопилу, когда подойдет скальпель.

Ответ №1:

Получите строку запроса, затем преобразуйте переменные в массив. В настоящее время это должно быть q для поисковых запросов Google:

 parse_str(parse_url($url, PHP_URL_QUERY), $result);

echo $result['q'];
  

Строка запроса будет:

q=user’s search queryamp;oq=user’s search queryamp;gs_l=serp.3

И $result['q'] будет:

поисковый запрос пользователя

И полное $result :

 Array
(
    [q] => user's search query
    [oq] => user's search query
    [gs_l] => serp.3
)