「红辣椒」我可以划船不用浆!我可以扬帆没有风向!因为我这一生!全靠浪!
不辣不青春

1.系统集成的

Typecho(以下简称TE)已经集成了UA抓取的功能,只是没有用到而已,调用方法如下:

<?php echo $comments->agent; ?>

效果如下:

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko)
Chrome/17.0.963.46 Safari/535.11

2.自定义函数实现不同样式

2.1创建自定义函数

打开 functions.php,在其中加入以下内容:

/**
* 浏览器及操作系统判断
*
* @param string $agent 系统数据库中访者数据
*/

/** 获取浏览器信息 */
function getBrowser($agent)
{
if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) {
$outputer = 'Internet Explorer' . ' ' . $regs[1];
} else if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) {
$outputer = 'Mozilla FireFox' . ' ' . $regs[1];
} else if (preg_match('/Maxthon([\d]*)\/([^\s]+)/i', $agent, $regs)) {
$outputer = 'Maxthon' . ' ' . $regs[2];
} else if (preg_match('/Chrome([\d]*)\/([^\s]+)/i', $agent, $regs)) {
$outputer = 'Google Chrome' . ' ' . $regs[2];
} else if (preg_match('/QQBrowser\/([^\s]+)/i', $agent, $regs)) {
$regg = explode("/",$regs[1]);
$outputer = 'QQ浏览器' . ' ' . $regg[0];
} else if (preg_match('/UC/i', $agent)) {
$outputer = 'UCWeb' . ' ' . '8.11112510';
} else if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) {
$outputer = 'Apple Safari' . ' ' . $regs[1];
} else if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) {
$outputer = 'Opera' . ' ' . $regs[1];
} else {
$outputer = '其它浏览器';
}

echo $outputer;
}

/** 获取操作系统信息 */
function getOs($agent)
{
$os = false;

if (preg_match('/win/i', $agent)) {
if (preg_match('/nt 6.0/i', $agent)) {
$os = 'Windows Vista';
} else if (preg_match('/nt 6.1/i', $agent)) {
$os = 'Windows 7';
} else if (preg_match('/nt 5.1/i', $agent)) {
$os = 'Windows XP';
} else if (preg_match('/nt 5/i', $agent)) {
$os = 'Windows 2000';
} else {
$os = 'Windows';
}
} else if (preg_match('/android/i', $agent)) {
$os = 'Android';
} else if (preg_match('/ubuntu/i', $agent)) {
$os = 'Ubuntu';
} else if (preg_match('/linux/i', $agent)) {
$os = 'Linux';
} else if (preg_match('/mac/i', $agent)) {
$os = 'Mac OS X';
} else if (preg_match('/unix/i', $agent)) {
$os = 'Unix';
} else if (preg_match('/symbian/i', $agent)) {
$os = 'Nokia SymbianOS';
} else {
$os = '其它操作系统';
}

echo $os;
}

2.2 使用自定义函数

在 comments.php 适当的位置插入以下代码:

<?php getBrowser($comments->agent); ?> @ <?php getOs($comments->agent); ?>

效果如下:

Google Chrome 18.0.1025.152 @ Windows 7

上一篇 : 一句代码修改typecho新用户注册由关注者提升到贡献者 | 下一篇 : 像CMS那样输出分类文章列表及首篇摘要

  • 使用CloudFlare来加速访问您的网站 - ( 浏览: 9,003 次 )
  • Linux VPS CentOS 6 实例图解 WinSCP SSH 快速搭建WordPress网站 - ( 浏览: 7,638 次 )
  • Linux VPS lnmp1.5 一键安装教程(20180601)+Typecho后台404解决方案 - ( 浏览: 6,137 次 )
  • Namesilo.com 开启Authy两步验证登陆图文教程 - ( 浏览: 5,634 次 )
  • 最新消息:搬瓦工 CN2 GIA 512限量版,不定期补货 - ( 浏览: 5,632 次 )
  • Xshell 5.0 free/home 最好用的SSH管理软件 - ( 浏览: 4,864 次 )
  • 手把手教你设置 Google 两步验证 - ( 浏览: 4,678 次 )
  • 更换域名后批量替换文章内容中的旧地址 - ( 浏览: 3,915 次 )
  • 安全门神:Authy 两步验证确保账号安全 - ( 浏览: 3,585 次 )
  • .htaccess httpd.ini nginx 伪静态妙用大合集 - ( 浏览: 3,263 次 )
  •