2015-08-11 2 views
3

Есть ли надежное регулярное выражение (я использую PHP) для соответствия строке пользовательского агента Microsoft Edge?Microsoft Edge regex для пользовательского агента

+0

[Которая] (http://stackoverflow.com/questions/30591706/what-is-the-user-agent-string-name-for-microsoft-edge)? –

+1

'preg_match ("/Edge \/12 \ ./ ", $ _SERVER ['HTTP_USER_AGENT'], $ output_array);' – cmorrissey

+0

Мне любопытно - какой будет прецедент? –

ответ

2

Я очень рекомендую

  1. не используется нами обнюхивать. Существует почти нет причина для этого.
  2. если вы абсолютно действительно должны, используя библиотеку, такую ​​как ua-parser, а не катать самостоятельно.
+0

1. Работая вокруг забавных ошибок браузера, это хорошая причина. 2. Библиотека против одной строки кода, предполагайте, что она зависит от того, насколько точна совпадение. – Leia

+0

1. Функция обнаружения ошибки на 100% надежнее, чем ua sniffing. 2. Одна строка кода почти всегда будет хуже, долгосрочная – Patrick

+0

Проблема, с которой я столкнулся, заключалась в настройке заголовка для переадресации. MSIE отображает символы Unicode в перенаправленном URL-адресе красиво, если его не закодировано, Edge нуждается в кодировке. Не знаете, как определить будущее в backend: 'header (" LOCATION: /".(preg_match("/Edge\/1(2|3|4)\./ ", getenv ('HTTP_USER_AGENT')))? rawurlencode («sök»): «sök»); ' – Leia

5

Как и большинство браузеров, вы можете просто указать имя браузера в строке сравнения, как показано ниже.

$user_agent = $_SERVER['HTTP_USER_AGENT']; 
preg_match('/Edge/i', $user_agent) 

Это сработало для меня. Надеюсь, это и для вас тоже.

Смежные вопросы