Я пытаюсь написать класс, который вызывает определенные функции для разных браузеров. Я хочу создать оператор switch, который принимает либо (CHROME, SAFARI, FIREFOX, MSIE и т. Д.), Который вытягивается из обычного выражения.Получение типа браузера с PHP
Я наголен на часть регулярного выражения. Я создал именованные группы, но я не могу понять, как получить указанную группу.
$subject = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3';
preg_match('/(?:(?P<CHROME>Chrome)|(?P<MSIE>MSIE)|(?P<IPHONE>iPhone)|(?P<FIREFOX>Firefox)|(?P<SAFARI>Safari))/', $subject, $regs);
Это то, что я получаю, когда это выполняется.
$regs = Array
(
[0] => Chrome
[CHROME] => Chrome
[1] => Chrome
)
Я хочу переключиться с использованием $ regs, но ключи все прикручиваются после регулярного выражения. Правильно ли я это делаю? Как я могу убедить CHROME из ключей в массиве?
Зачем вам нужны ключи вообще? '$ regs [0]' должен содержать согласованный текст, который в вашем случае уже идентифицирует браузер. (Конечно, ответ @ VolkerK гораздо лучший способ сделать это.) – casablanca
Хороший вопрос! Я могу просто сделать str_toupper в $ regs [0] – polyhedron