Вы любезно предоставил мне образец UA строкой нарушившего мобильного браузера Opera:
Mozilla/5.0 (Linux;  Android 4.1.2 ; GT-P3100 Build/JZO54K) AppleWebKit/537,36 (KHTML, как Gecko) Chrome/41.0.2272.81 Safari/537,36 OPR/28.0.1764.90386
и регулярное выражение, возвращенное get_browser()
на том UA является:
$^mozilla/5.0 (. * Linux. android.4.1.) яблочныйwebkit /.* (khtml, подобный gecko). * Хром/41 .. сафари /. $
, который вообще не обнаружил браузер Opera. Однако я нашел эту функцию, которую вы также можете запустить, чтобы получить имя браузера. Самая первая проверка для этого «OPR/» фрагмента строки UA.
При запуске с испытанием UA, поставляемым выше, выход «Opera».
<?php
function ExactBrowserName() {
$ExactBrowserNameUA=$_SERVER['HTTP_USER_AGENT'];
If (strpos(strtolower($ExactBrowserNameUA), "safari/") and strpos(strtolower($ExactBrowserNameUA), "opr/")) {
// OPERA
$ExactBrowserNameBR="Opera";
} ElseIf (strpos(strtolower($ExactBrowserNameUA), "safari/") and strpos(strtolower($ExactBrowserNameUA), "chrome/")) {
// CHROME
$ExactBrowserNameBR="Chrome";
} ElseIf (strpos(strtolower($ExactBrowserNameUA), "msie")) {
// INTERNET EXPLORER
$ExactBrowserNameBR="Internet Explorer";
} ElseIf (strpos(strtolower($ExactBrowserNameUA), "firefox/")) {
// FIREFOX
$ExactBrowserNameBR="Firefox";
} ElseIf (strpos(strtolower($ExactBrowserNameUA), "safari/") and strpos(strtolower($ExactBrowserNameUA), "opr/")==false and strpos(strtolower($ExactBrowserNameUA), "chrome/")==false) {
// SAFARI
$ExactBrowserNameBR="Safari";
} Else {
// OUT OF DATA
$ExactBrowserNameBR="OUT OF DATA";
};
return $ExactBrowserNameBR;
}
?>
Ref: How to get exact browser name and version?
любые browsecap и PHP эксперты –
Попробуйте вручную ввести строку агента пользователя, что Opera на Galaxy будет посылать и попытаться проследить вывод массива, get_browser возвращает – Drakes
я получил его в массив он говорит chrome 41.0 в браузере ... так что не удача –