当前位置: 首页 > news >正文

PHP怎样判断浏览器类型和浏览器语言?

获取浏览器类型

$_SERVER['HTTP_USER_AGENT']包含了用户代理字符串,该字符串包含了浏览器、操作系统等信息。通过分析这个字符串,可以大致判断用户使用的浏览器类型。

<?phpfunction getBrowserType() {$userAgent = $_SERVER['HTTP_USER_AGENT'];$browser = "Unknown Browser";if (preg_match('/MSIE/i', $userAgent) || preg_match('/Trident/i', $userAgent)) {$browser = "Internet Explorer";} elseif (preg_match('/Edge/i', $userAgent)) {$browser = "Microsoft Edge";} elseif (preg_match('/Firefox/i', $userAgent)) {$browser = "Mozilla Firefox";} elseif (preg_match('/Chrome/i', $userAgent) && preg_match('/Safari/i', $userAgent) == false) {$browser = "Google Chrome";} elseif (preg_match('/Safari/i', $userAgent)) {$browser = "Apple Safari";} elseif (preg_match('/Opera/i', $userAgent) || preg_match('/OPR/i', $userAgent)) {$browser = "Opera";}return $browser;
}echo "Browser Type: " . getBrowserType();?>

获取浏览器语言

$_SERVER['HTTP_ACCEPT_LANGUAGE']包含了用户首选的语言列表,通常以逗号分隔,并带有质量值(可选)。可以通过解析这个字符串来获取用户的首选语言。

<?phpfunction getBrowserLanguage() {$acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];$languages = explode(',', $acceptLanguage);$primaryLanguage = 'Unknown Language';if (isset($languages[0])) {// 提取语言代码(通常是前两个字符)$primaryLanguageCode = substr($languages[0], 0, 2);// 映射语言代码到可读语言名称(可选)$languageMap = ['en' => 'English','zh' => 'Chinese','fr' => 'French','de' => 'German','es' => 'Spanish',// 可以根据需要添加更多语言映射];$primaryLanguage = isset($languageMap[$primaryLanguageCode]) ? $languageMap[$primaryLanguageCode] : $primaryLanguageCode;}return $primaryLanguage;
}echo "Browser Language: " . getBrowserLanguage();?>

我的个人PHP项目:

PHP全文检索引擎 WindSearch: https://github.com/rock365/windsearch

请帮我点个star~谢谢你!

相关文章:

  • CF1016赛后总结
  • 2025年Q1数据安全政策、规范、标准以及报告汇总共92份(附下载)
  • KWDB 创作者计划 KWDB(KaiwuDB)系列专题 (四) KWDB核心概念解析:多模、时序与分布式
  • 关于UE5的抗锯齿和TAA
  • DSA数据结构与算法 4
  • 洛谷P1177【模板】排序:十种排序算法全解(1)
  • 【java实现+4种变体完整例子】排序算法中【基数排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • Jsp技术入门指南【七】JSP动作讲解
  • Tracepoints for the VFS?
  • 通过docker create与export来分析诊断故障镜像
  • 8 编程笔记全攻略:Markdown 语法精讲、Typora 编辑器全指南(含安装激活、基础配置、快捷键详解、使用技巧)
  • day46——两数之和-输入有序数组(LeetCode-167)
  • PHP怎样连接MySQL数据库?
  • python函数之间嵌套使用yield
  • sqli-labs之Less-7 GET注入写shell
  • CPU与GPU之间的交互
  • 【C++】新手入门指南(上)
  • Linux-进度条小程序
  • webpack 中 chunks详解
  • 论文降重GPT指令-实侧有效从98%降低到8%
  • 车展之战:国产狂飙、外资反扑、智驾变辅助
  • 女冰队长于柏巍,拒绝被年龄定义
  • 《求是》杂志发表习近平总书记重要文章《激励新时代青年在中国式现代化建设中挺膺担当》
  • 李开复出任福耀科技大学理事会理事,助力学校AI战略
  • 中国防疫队深入缅甸安置点开展灾后卫生防疫工作
  • 跟着京剧电影游运河,京杭大运河沿线六城举行京剧电影展映