Мне нужно обнаружить поисковые системы, которые ссылаются на мой сайт. Поскольку каждая поисковая система имеет разные строки запроса для поиска (например, Google использует 'q =', yahoo использует 'p ='), я создал базу данных для поисковых систем с их шаблонами регулярных выражений URL.
В качестве примера:
http://www.google.com/search?q=blabla&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-GB:official&client=firefox-a
регулярное выражение, которое я создал для Google:
(http:)(\\/)(\\/)(www)(\\.)(google)(\\.).*(\\/)(search).*(&q=|\\?q=).*
(я новичок в регулярных выражениях, но пока это работает)
Определяет, что URL принадлежит Google.
Моя проблема заключается в том, что мне нужно извлечь поисковые слова из URL выше или из других поисковых систем. Но я не знаю, как сопоставить его с регулярным выражением. Я попытался извлечь строку запроса из URL с помощью функций PHP и сопоставить ее с шаблоном, но он ничего не возвращал.
Надеюсь, я смог объяснить это достаточно ясно.
Есть предложения?