Мобильный пользовательский агент регулярного выражения - PullRequest
6 голосов
/ 28 декабря 2011

Я должен проверить в своем скрипте агента пользователя для мобильного телефона.

у меня есть

if(preg_match('/lg|iphone|blackberry|opera/i', $_SERVER['HTTP_USER_AGENT'])) { ... }

я обнаружил, что lg должен быть первой частью строки

например:

lg-9000 ...
lg1000 ...
lg 2000 ...
lge4300 ...

В основном я хочу знать, возможно ли найти строку (из моего регулярного выражения) в пользовательском агенте, начиная с начала, а не где-нибудь в строке.

я бы не хотел менять строку регулярного выражения

спасибо

Ответы [ 2 ]

11 голосов
/ 28 декабря 2011

Вы можете использовать метасимвол ^ для обозначения начала строки.Вы можете прочитать больше об этом здесь .Следующий шаблон будет соответствовать только lg, если он находится в начале строки:

^lg|iphone|blackberry|opera/

Вы можете увидеть простой пример его в действии здесь: http://regexr.com? 2vjec

0 голосов
/ 28 декабря 2011

Я использую эту библиотеку для определения информации об ОС и браузере http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...