当前位置: 首页 > 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%
  • 2025年世界互联网大会亚太峰会人工智能大模型论坛举行
  • 政策助力破局,4岁罕见病患儿在上海注射国内未上市进口药
  • 美空军B-1B轰炸机抵达日本,执行战略威慑任务
  • 助力外贸外资企业高质量发展,上海市区两级领导密集调研、召开座谈会
  • 独家专访|阿来:人只活几十年,我得写点不一样的
  • 市监总局:清理整治各种忽悠人的广告乱象,确保群众放心消费