玖叶教程网

前端编程开发入门

substr,mb_substr,iconv_substr区别

substr(),mb_substr(),iconv_substr()的区别

php中切割字符串有三个常用的函数,substr(),mb_substr(),iconv_substr(),其中mb_substr()与iconv_substr()有点相似,用法也一样,

1 如果确定字符串中没有中文字符,用substr是最好的,效率提高3倍左右。

2 iconv库在某些操作系统上可能运行不正确, 需要安装GNU扩展库以保证它的正常运行。mb_substr()函数的兼容性更好。

3 iconv函数会先将当前字符串转换为相应的编码再进行截取, 而mb函数则是直接根据指定的编码进行截取(提供安全的多字节截取),

所以mb函数的截取效率更高。

因此, mb_substr()函数进行中文字符串的截取为最合适的选择。

但是使用函数mb_substr()函数之前在php.ini在把php_mbstring.dll打开, 具体参考php|系统函数|使用mb_substr函数截取中文字符串

4 substr()函数是按照字节来算, mb_sutstr()和iconv_substr()按照字符数来算

实例:

<html>
<head><meta charset='utf-8'>
<title>截取中文字符串</title>
</head>
<body>
<?php
$str='截取中文字符串';
echo substr($str,0,4);
echo '<br>';
echo iconv_substr($str,0,4,'utf-8');
echo '<br>';
echo mb_substr($str,0,4,'utf-8');
?>
</body>
</html>

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言