用户代理,从字符串中提取OS和浏览器

Bik*_*ohn 5 php browser user-agent operating-system

我想从用户代理字符串中提取完整的操作系统名称和浏览器.我怎样才能做到这一点?

小智 6

我认为获得完整的操作系统名称和完整的浏览器名称很棘手,因为许多浏览器都会以不同的方式识别自己 您可能需要一些花哨的正则表达式,然后它可能甚至不会100%的时间工作.

这是我用来识别浏览器的简单方法.您可以根据自己的需要进行调整.

<?php

public static function getUserAgent()
{
    static $agent = null;

    if ( empty($agent) ) {
        $agent = $_SERVER['HTTP_USER_AGENT'];

        if ( stripos($agent, 'Firefox') !== false ) {
            $agent = 'firefox';
        } elseif ( stripos($agent, 'MSIE') !== false ) {
            $agent = 'ie';
        } elseif ( stripos($agent, 'iPad') !== false ) {
            $agent = 'ipad';
        } elseif ( stripos($agent, 'Android') !== false ) {
            $agent = 'android';
        } elseif ( stripos($agent, 'Chrome') !== false ) {
            $agent = 'chrome';
        } elseif ( stripos($agent, 'Safari') !== false ) {
            $agent = 'safari';
        } elseif ( stripos($agent, 'AIR') !== false ) {
            $agent = 'air';
        } elseif ( stripos($agent, 'Fluid') !== false ) {
            $agent = 'fluid';
        }

    }

    return $agent;
}
Run Code Online (Sandbox Code Playgroud)