Skrypt do wykrywania przeglądarki użytkownika w PHP

Ostatnio dla jednego ciekawego projektu potrzebowałem zrobić detekcję przeglądarki i jej wersję w PHP. Szablon był responsywny (responsywny), i konieczne było dostosowanie wyjścia elementów strony dla różnych przeglądarek. Napisałem stronę na moim ulubionym silniku WordPress i motyw został do niej zaprojektowany. Jak zawsze, nie zastanawiając się dwa razy nad zadaniem, wszedłem do Internetu. Zdziwiłem się, gdy znalazłem gotowy scenariusz, co całkowicie mnie usatysfakcjonowało w pierwszej dziesiątce emisji google. Szacunek i szacunek dla programisty i bloggera

który napisał ten scenariusz i umieścił go na swoim blogu.

Co mi się w nim szczególnie podobało, więc to jest temat, że skrypt może wykrywać przeglądarki w silniku Gecko, nie tylko główne przeglądarki (Firefoxa, Chrom, TJ, Opera, Safari), a nawet te, które są zbudowane na rdzeniu Trident (Maxthon, Przeglądarka AVANT, MójIE2), a nawet starsze wersje Opery, udając IE. Oprócz, skrypt wyszukuje i wyświetla wersję przeglądarki.

Autor bloga zamieścił kilka informacji, które również chciałbym umieścić na swojej stronie.

Teoria ze słów autora:

Jak wykrywana jest przeglądarka w PHP?
PHP ma wspaniałą zmienną o nazwie $_SERVER[„HTTP_USER_AGENT”].
Ja mam, Na przykład, ona wygląda tak:

Mozilla/5.0 (Okna; u; Windows NT 5.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Stąd wyciągnięcie przeglądarki i wersji jest proste, Czyż nie?

Teraz IE 6

Mozilla/4.0 (zgodny; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Tutaj jest to trochę bardziej skomplikowane., ale też nie powinno sprawiać większych problemów..

Opera 10.61

Opera/9.80 (Windows NT 5.1; u; ru) Wersja Presto/2.6.30/10.61
Opera przygotowała dla nas sztuczkę: nazwa przeglądarki na początku, wersja, jakie to dziwne, na końcu.

Safari 5.1

Mozilla/5.0 (Okna; u; Windows NT 6.1; ru-RU) AppleWebKit/533.17.8 (KHTML, jak Gecko) Wersja/5.0.1 Safari/533.17.8
Safari też zaskakuje: ukośnik nie jest numerem wersji. Numer wersji pojawia się nieco wcześniej.

Chrom 6.0.427.0

Mozilla/5.0 (Okna; u; Windows NT 5.1; w nas) AppleWebKit/534.1 (KHTML, jak Gecko) Chrome/6.0.427.0 Safari/534.1
Chrome jest łatwiejszy do wyciągnięcia, fajnie by było jeszcze nie mylić go z Safari...

(O, dlaczego wszystkie przeglądarki (oprócz Opery) nazywają siebie Mozillą, można czytać w prosty i zabawny sposób tutaj.)

Praktyka ze słów autora

już wiesz, jaka odmiana w linii Agent użytkownika oferują tylko pięć przeglądarek.
Ale w 9 z 10 przypadkach uratuje nas następujące wyrażenie regularne:

Następnie nazwa przeglądarki będzie w drugim elemencie tablicy., aw trzecim - jego wersja.

Jedynym wyjątkiem jest Safari zaczynając od wersji 3.0 i Opera zaczynając od wersji 10.00.

Dla tych przeglądarek piszemy:

I jeszcze jedna linia kodu:

Jeśli nie mogliśmy wykryć przeglądarki, ale wiemy, że używa jądra Gecko, następnie wyświetl komunikat mówiący, że przeglądarka działa na tym jądrze.
Tutaj, w rzeczywistości, i cała zawartość pierwszego, bardziej kompaktowa funkcja z definicji przeglądarki.

Jej cały kod:

Oto pełniejsza wersja, pozwalający na identyfikację egzotyki, przestarzały, podobnie jak te przeglądarki, które są zbudowane na bazie Firefoxa i TJ:

Przykłady pracy

W tabeli przedstawiono wynik pracy dwóch funkcji - w pierwszej kolumnie przeglądarki, w którym wywołano funkcje, w drugim - odpowiedź funkcji, biorąc pod uwagę mało znane przeglądarki, w trzecim - wynik funkcji zredukowanej.

Przeglądarka Wynik pełnej funkcji Wynik funkcji skróconej
Firefoxa 1.5.0.12 Firefoxa 1.5.0.12 Firefoxa 1.5.0.12
Firefoxa 3.0.10 Firefoxa 3.0.10 Firefoxa 3.0.10
Firefoxa 3.6.9 Firefoxa 3.6.9 Firefoxa 3.6.9
Firefoxa 4.0 Firefoxa 4.0 Firefoxa 4.0
TJ 4.01 TJ 4.01 MSIE 4.01
TJ 5.5 TJ 5.5 MSIE 5.5
TJ 6.0 TJ 6.0 MSIE 6.0
TJ 7.0 TJ 7.0 MSIE 7.0
TJ 8.0 TJ 8.0 MSIE 8.0
Chrom 5.0.375.127 Chrom 5.0.375.127 Chrom 5.0.375.127
Chrom 6.0.472.36 Chrom 6.0.472.36 Chrom 6.0.472.36
Chrom 7.0.517.8 Chrom 7.0.517.8 Chrom 7.0.517.8
Opera 7.03 Opera 7.03 MSIE 6.0
Opera 8.0 Opera 8.0 MSIE 6.0
Opera 8.54 Opera 8.54 Opera 8.54
Opera 9.50 Opera 9.50 Opera 9.50
Opera 10.00 Opera 10.00 Opera 10.00
Opera 10.10 Opera 10.10 Opera 10.10
Opera 10.61 Opera 10.61 Opera 10.61
Safari 3.0 Safari 3.0 Safari 3.0
Safari 4.0 Safari 4.0 Safari 4.0
Safari 5.0.1 Safari 5.0.1 Safari 5.0.1
Trzoda 1.2.6 Trzoda 1.2.6 Firefoxa 2.0.0.17
Olśnienie 2.22 Olśnienie 2.22 Firefoxa 2.0.0.20
Nawigator 9.0.0.6 Nawigator 9.0.0.6 Firefoxa 2.0.0.12
Netscape 8.1.3 Netscape 8.1.3 Przeglądarka oparta na Gecko
Zdobywca 4.4 Zdobywca 4.4 Przeglądarka oparta na Gecko
Galeon 2.0.4 Przeglądarka oparta na Gecko Przeglądarka oparta na Gecko
lody 1.1.13 Przeglądarka oparta na Gecko Przeglądarka oparta na Gecko
Lodowa łasica 3.0.4 Lodowa łasica 3.0.4 Przeglądarka oparta na Gecko
Małpa morska 1.1.14 Małpa morska 1.1.14 Przeglądarka oparta na Gecko
Pole minowe 3.7 Pole minowe 3.7 Przeglądarka oparta na Gecko
Przeglądarka AVANT 7.0 Przeglądarka Avant oparta na IE 7.0 MSIE 7.0
Camino 2.0.4 Camino 2.0.4 Firefoxa 3.0.19

Przeglądarki zaznaczone na czerwono, której funkcja nie mogła określić.

I tutaj możesz sprawdzić funkcjonalność funkcji w swojej przeglądarce.
Mam nadzieję, że te funkcje będą komuś przydatne.
Powodzenia.

Możesz pobrać ode mnie skrypt wykrywający przeglądarkę:

Skrypt wykrywający przeglądarkę

lub na stronie autora:

Protokół https://www.recens.ru/php/detect_user_browser.html

Jeszcze raz szczególne podziękowania dla autora!

Definiowanie przeglądarek mobilnych

Dowiedziałem się również z komentarzy na stronie autora, jak identyfikować urządzenia mobilne:

zwroty mobilny lub komputer, powodzenia )


Купить хостинг WordPress
/* Nauczyciel WordPressa
Usługi korepetycji online. Lista kursów, które prowadzę
  • Podstawowy kurs projektowania stron internetowych;
  • Układ stron;
  • Ogólny kurs CMS WordPress oraz kontynuacja kursu dotyczącego tworzenia szablonów;
  • Tworzenie stron internetowych w PHP.
Czytaj więcej na stronie Nauczyciel WordPressa
*/

Nikołajenko Maksym

Dyrektor studiów internetowych ProGrafika. rozwijam się, projektowanie i promocja stron internetowych. Zawsze cieszę się z nowych czytelników bloga i dobrych klientów.


Może Ci się spodobać...

Zostaw odpowiedź

Twoj adres e-mail nie bedzie opublikowany. wymagane pola są zaznaczone *

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane dotyczące Twoich komentarzy.

Szablony WordPressa
Najlepszy hosting na Ukrainie
Stabilny hosting dla Drupala