php中文字符串截取php截取中文字符串的函数,有需要的朋友可以参考下。
/**
@中文字符串截取函数
@http://www.
*/
function cnSubStr($string,$sublen)
{
if($sublen>=strlen($string))
{
return $string;
}
$s="";
for($i=0;$i<$sublen;$i++)
{
if(ord($string{$i})>127)
{
$s.=$string{$i}.$string{++$i};
continue;
}else{
$s.=$string{$i};
continue;
}
}
return $s;
}// End Function cnSubStr($string,$sublen)
/////////// Use like this :
echo "<p>__________________________<p>";
$string="3828923专业网站技术站点89023";
$sublen=strlen($string);
$len=20;
echo $string."<p>";
echo "总长为:".($sublen+1)."<p>";
echo "截取数:".$len."<p>";
for($i=1;$i<=$sublen+1;$i++){
if($i>$len){
echo $i."<b> →</b> ".cnSubStr($string,$i)."…<br>";
continue;
}
echo $i."<b> →</b> ".cnSubStr($string,$i)."<br>";
}
?>
今天,我们不用js来实现这样的功能,说说如何用PHP来实现对浏览器类型与语言的判断
简单示例:
//判断浏览器类型
echo $_SERVER["HTTP_USER_AGENT"];
//判断浏览器语言
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
下面是两个完整的示例,分别判断浏览器类型、浏览器语言。
1、判断浏览器类型
if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
echo "Internet Explorer 8.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
echo "Internet Explorer 7.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
echo "Internet Explorer 6.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
echo "Firefox 3";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
echo "Firefox 2";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
echo "Google Chrome";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
echo "Safari";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
echo "Opera";
else echo $_SERVER["HTTP_USER_AGENT"];
?>
2、判断浏览器语言
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
if (preg_match("/zh-c/i", $lang))
echo "简体中文";
else if (preg_match("/zh/i", $lang))
echo "繁體中文";
else if (preg_match("/en/i", $lang))
echo "English";
else if (preg_match("/fr/i", $lang))
echo "French";
else if (preg_match("/de/i", $lang))
echo "German";
else if (preg_match("/jp/i", $lang))
echo "Japanese";
else if (preg_match("/ko/i", $lang))
echo "Korean";
else if (preg_match("/es/i", $lang))
echo "Spanish";
else if (preg_match("/sv/i", $lang))
echo "Swedish";
else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
/*@ http://www. */
?>
从以上代码,可以看到php判断浏览器类型,主要是借助_SERVER["HTTP_USER_AGENT"],而分析浏览器语言则是使用_SERVER["HTTP_ACCEPT_LANGUAGE"]。
从原理上来讲,浏览器在与服务器连接时总会先发送一些包括(浏览器类型、语言)类的信息。
我们可以借助php全局变更$_SERVER,诸如_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)来获取到相关信息,然后用strpos或者preg_match函数来对比就可以了。
好了,关于php判断浏览器类型、浏览器语言等的内容就介绍到这了。
您可能感兴趣的文章:
PHP判断浏览器类型的代码
php 获取访问者浏览器的代码
php获取客户端浏览器与操作系统信息的方法
熟悉php的朋友都知道,PHP常量分为自定义常量与系统常量二种。
自定义常量,当然需要用户使用PHP函数来定义,然后才能使用了。
系统常量直接拿来使用就可以了。
以下通过实例,为大家介绍二者有哪些不同。
1、自定义常量
* 必须用函数define()定义
* 定义完后其值不能再改变了
* 使用时直接用常量名,不能像变量一样在前面加$s
例如:
define("PI",3.14);定义一个常量
$area = PI*R*R; 计算圆的面积
define("URL","http://www.");
echo "my website url is:".URL;
?>
2、系统常量
FILE :php程序文件名
LINE :PHP程序文件行数
PHP_VERSION:当前解析器的版本号
PHP_OS:执行当前PHP版本的操作系统名称
可以直接拿来使用,例如要查看执行当前PHP版本的操作系统名称,就可以写成 echo PHP_OS
3、php类常量
可以在类中定义常量。常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号。
常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
接口(interface)中也可以定义常量。请查看接口的文档获得更多示例。
PHP5.3.0之后,可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。
例1、定义并使用一个类常量
<?php
class MyClass
{
const constant = ‘constant value';
function showConstant() {
echo self::constant . “\n”;
}
}
echo MyClass::constant . “\n”;
$classname = “MyClass”;
echo $classname::constant . “\n”; // PHP 5.3.0之后
$class = new MyClass();
$class->showConstant();
echo $class::constant.”\n”; // PHP 5.3.0之后
?>
例2、静态数据
class foo {
// PHP 5.3.0之后
const bar = <<<'EOT'
bar
EOT;
}
?>