本文目录一览:
请问PHP能判断操作系统使用的语言吗
可以的~
public function getOS(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) strpos($agent, '95'))
$os = 'Windows 95';
else if (eregi('win 9x', $agent) strpos($agent, '4.90'))
$os = 'Windows ME';
else if (eregi('win', $agent) ereg('98', $agent))
$os = 'Windows 98';
else if (eregi('win', $agent) eregi('nt 5.1', $agent))
$os = 'Windows XP';
else if (eregi('win', $agent) eregi('nt 5', $agent))
$os = 'Windows 2000';
else if (eregi('win', $agent) eregi('nt 6.1', $agent))
$os = 'Windows 7';
else if (eregi('win', $agent) eregi('nt 6', $agent))
$os = 'Windows Visita';
else if (eregi('win', $agent) eregi('nt', $agent))
$os = 'Windows NT';
else if (eregi('win', $agent) ereg('32', $agent))
$os = 'Windows 32';
else if (eregi('linux', $agent))
$os = 'Linux';
else if (eregi('unix', $agent))
$os = 'Unix';
else if (eregi('sun', $agent) eregi('os', $agent))
$os = 'SunOS';
else if (eregi('ibm', $agent) eregi('os', $agent))
$os = 'IBM OS/2';
else if (eregi('Mac', $agent) eregi('PC', $agent))
$os = 'Macintosh';
else if (eregi('PowerPC', $agent))
$os = 'PowerPC';
else if (eregi('AIX', $agent))
$os = 'AIX';
else if (eregi('HPUX', $agent))
$os = 'HPUX';
else if (eregi('NetBSD', $agent))
$os = 'NetBSD';
else if (eregi('BSD', $agent))
$os = 'BSD';
else if (ereg('OSF1', $agent))
$os = 'OSF1';
else if (ereg('IRIX', $agent))
$os = 'IRIX';
else if (eregi('FreeBSD', $agent))
$os = 'FreeBSD';
else if (eregi('teleport', $agent))
$os = 'teleport';
else if (eregi('flashget', $agent))
$os = 'flashget';
else if (eregi('webzip', $agent))
$os = 'webzip';
else if (eregi('offline', $agent))
$os = 'offline';
else
$os = 'Unknown';
return $os;
}
PHP判断手机是IOS还是Android
用HTTP_USER_AGENT来实现即可
判断代码如下:
说明:
HTTP_USER_AGENT是用来检查浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码。
其中常用的浏览器和操作系统平台信息:
PHP正则表达式判断浏览器语言实例
PHP函数实例,基于正则表达式来判断浏览器的默认语言,其实php判断浏览器语言使用超级全局变量_SERVER["HTTP_ACCEPT_LANGUAGE"]
就可以获得了,然后再根据HTTP请求的Accept-Language:
头信息用正则匹配,最终判断出语言类型。
PHP判断浏览器实例函数:
01?php
02$lang=substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,4);
03//只取前4位,可判断最优先的语言
04if
(preg_match("/zh-c/i",
$lang))
05
echo
"简体中文";
06else
if
(preg_match("/zh/i",
$lang))
07
echo
"繁体中文";
08else
if
(preg_match("/en/i",
$lang))
09
echo
"English";
10else
if
(preg_match("/fr/i",
$lang))
11
echo
"French";
12else
if
(preg_match("/de/i",
$lang))
13
echo
"German";
14else
if
(preg_match("/jp/i",
$lang))
15
echo
"Japanese";
16else
if
(preg_match("/ko/i",
$lang))
17
echo
"Korean";
18else
if
(preg_match("/es/i",
$lang))
19
echo
"Spanish";
20else
if
(preg_match("/sv/i",
$lang))
21
echo
"Swedish";
22else
23
echo
$_SERVER["HTTP_ACCEPT_LANGUAGE"];
24?
在使用时只需调用函数名即可,本函数会自动返回检测结果。
PHP判断是中文还是英文
/*
判断输入是否是纯数字,英文,汉字等
利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、中英混合、全中文。
1: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,则为纯英文字符串
2: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后得0 则为全汉字
3: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后不为0 则为中英混合
*/
?php
$str = "123456abc汉字";
$x = mb_strlen($str, 'gb2312');
$y = strlen($str);
echo "-----------$str----------br";
echo "x: ".$x."br";
echo "y: ".$y."br";
?