php专区

 首页 > php专区 > PHP应用 > php函数大全 > substr(),mb_substr()及mb_strcut函数用法与区别 - php函数

substr(),mb_substr()及mb_strcut函数用法与区别 - php函数

分享到:
【字体:
导读:
          在php中substr(),mb_substr()及mb_strcut三个函数都是字符截取函数,但是substr截取中文时会有乱码,而后两者支持中文截取,下面我来介绍介绍...

substr(),mb_substr()及mb_strcut函数用法与区别

在php中substr(),mb_substr()及mb_strcut三个函数都是字符截取函数,但是substr截取中文时会有乱码,而后两者支持中文截取,下面我来介绍介绍。

substr()函数

substr(string,start,length)

string表示要截取的对象,start表示从哪个位置开始截取,0表示从头开始,正数表示从这个数的位置后面截取,负数表示从结尾算开始截取的位置,但依然是从左到右截,length表示截取长度.负数表示排除或忽略结尾多少个字符.代码如下:

  1. $siteurl = 'www.phpfensi.com'
  2. print_r (substr($siteurl,4));exit
  3. //则返回:  phpfensi.com表示从头第4个字符开始,返回后面的所有字符. 

实例代码如下:

$siteurl = 'www.phpfensi.com';print_r (substr($siteurl,-6,2));exit;

如果要截取双字节的汉字.则要用PHP mb_substr函数或mb_strcut函数,但这两个函数依赖php扩展php_mbstring.dll组件,所以要配置你的服务器.即把php安装目录中的php_mbstring.dll文件复制到你的windows 2003 的c盘的Windows/system32目录中.

举个例子:

echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');

输出:这样一来我的字,代码如下

echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');

输出:这样一

从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象……代码如下:

  1. echo mb_substr('飞花院博客feihuayuan',0,9); 
  2. //返回: 飞花院 
  3. echo mb_substr('飞花院博客feihuayuan',0,9,'utf-8'); 
  4. //则返回: 飞花院博客feih 
  5. mb_strcut('飞花院博客feihuayuan',0,9,'utf-8'); 
  6. 则返回:飞花院 
  7. ?> 

再举个例子,有一段文字,分别用mb_substr和mb_strcut来做切分,代码如下:

  1. $str = '我是一串比较长的中文-'
  2. echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8'); 
  3. echo "
    "
  4. echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); 
  5. ?> 
  6. /*输出结果如下: 
  7. mb_substr:我是一串比较 
  8. mb_strcut:我是 
  9. */ 

本文章总结:从上面实例可以看得出来,substr只支持单字节的,这样只适合英文截取,而mb_substr函数是双字体截取了,正好可用于中文了,而mb_strcut是三字节了。

分享到:
PHP采集程序常用的采集函数收藏 - php函...
PHP采集程序常用的采集函数收藏 这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用. 在php采集页面中最常用的就是过滤一些特殊字符或把内容中的图片也采集保存下来,下面我来给大家介绍我在写php采集程序时一些常用的函数. ...
php获取url参数程序代码总结 - php函数
php获取url参数程序代码总结 在php中获取url中参数的方法有很多种,其中最简单的就直接使用parse_url函数了,他可以很方便快速的自动解析url参数与值并保存期到对应的数组中,其它的一种方法基本都是正则表达式来操作了。 parse_url函数 我们先来了解一下parse_url函数,官方解决 说明:mixed ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……