substr(),mb_substr(),mb_strcut()的使用心得
来源:互联网 发布:json双引号自动加斜杠 编辑:程序博客网 时间:2024/04/27 00:07
substr(),mb_substr(),mb_strcut()的使用心得
substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr()/mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开,如果我们不确定有没有开启这功能,那么我们最好先判断一下,if(function_exist(mb_string)).
举个例子:
<?php
echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');
?>
输出:这样一来我的字
<?php
echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');
?>
输出:这样一
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象,但是有时候在输出的时候也会出现截取的东西不正确,有的是对的有的不对,而且中文还出现乱码,这些现象产生的主要原因是你的这个函数的编方式和你显示他的网页的编码方式不一致而导致的。
举个例子:
<?php
echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');
?>
输出:这样一来我的字
<?php
echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');
?>
输出:这样一
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象,但是有时候在输出的时候也会出现截取的东西不正确,有的是对的有的不对,而且中文还出现乱码,这些现象产生的主要原因是你的这个函数的编方式和你显示他的网页的编码方式不一致而导致的。
这里还介绍一个PHP截取中文字符串的自定义函数:
PHP实现中文字串截取无乱码的方法
function GBsubstr($string, $start, $length) {
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i<$len;$i++){
if(ord(substr($string,$i,1))>0xa0){
$str.=substr($string,$i,2);
$i++;
}else{
$str.=substr($string,$i,1);
}
}
return $str.'...';
}else{
return $string;
}
}
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i<$len;$i++){
if(ord(substr($string,$i,1))>0xa0){
$str.=substr($string,$i,2);
$i++;
}else{
$str.=substr($string,$i,1);
}
}
return $str.'...';
}else{
return $string;
}
}
暂时写到这里,希望大家多提意见。
- substr(),mb_substr(),mb_strcut()的使用心得
- substr(),mb_substr()及mb_strcut的区别
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- substr(),mb_substr()及mb_strcut的区别和用法
- substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr()及mb_strcut的区别和用法
- substr(),mb_substr()及mb_strcut的区别和用法
- PHP substr(),mb_substr(),mb_strcut的区别和用法
- mb_substr和mb_strcut的区别
- PHP中substr、mb_substr、mb_strcut这三个截取字符串函数的比较
- php函数substr、mb_substr、mb_strcut截取中文比较
- 手机自动关机故障分析与维修
- 气动薄膜调节阀原理
- 设计原则
- Java程序设计课程资源
- 通用的I/O模拟串口程序
- substr(),mb_substr(),mb_strcut()的使用心得
- 20090906-20090913运动情况
- oracle 中 delete truncate drop 区别
- DNS设置能及时刷新
- From Service To Care----读有感
- 浅谈气动薄膜调节阀的应用
- 锦绣香江推出美女红人 网友称“香妃”
- IDE(integrated development environment)集成开发环境
- think in java第九章读书笔记