用户代理,提取串操作系统和浏览器 [英] User agent, extract OS and browser from string

查看:100
本文介绍了用户代理,提取串操作系统和浏览器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'd like to extract full the OS name and browser from the user agent string. How can I do this?

推荐答案

我觉得这是棘手的整个操作系统的名称和完整的浏览器的名字,因为许多浏览器标识自己不同。你可能会需要一些花哨的正则表达式,然后将它甚至可能没有工作时间的100%。

I think it is tricky to get the full OS name and full browser name since many browsers identify themselves differently. You will probably need some fancy regex and then it might not even work 100% of the time.

下面是一个简单的方法,我用它来识别浏览器。您可能能够适应,以满足您的需求。

Here is the simple method I use to identify the browser. You may be able to adapt it to suit your needs.

<?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;
}

这篇关于用户代理,提取串操作系统和浏览器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆