php字符串截取函数mb_substr用法实例分析


Posted in PHP onJune 25, 2019

本文实例讲述了php字符串截取函数mb_substr用法。分享给大家供大家参考,具体如下:

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串

(PHP 4 >= 4.0.6, PHP 5)

$str 要获取字符串的目标字符串(字符串起始位置为0)
$start,$str中要使用的第一个字符的位置
$length,获取的子字符串的长度(注意不是结束位置)
$encoding,可指定字符编码(一般用于处理中文字符时使用,同时这个问题碰到的非常多)

示例:

<?php
mb_internal_encoding ("UTF-8");  //如果把UTF-8改为编码,下面针对于中文字符串处理的值会改变。
echo mb_internal_encoding()."";  //获取字符编码为ISO-8859-1
echo mb_substr('abcdefghijk',0,9)."";  //abcdefghi
echo mb_substr('abcdefghijk',1,5)."";  //bcdef
echo mb_substr('我们都是中国人',0,9)."";  //我们都是中国人
echo mb_substr('我们都是中国人',0,9,'gb2312')."";  //我们都是中
echo mb_substr('我们都是中国人',0,9,'utf-8');  //我们都是中国人
?>

总结:

1、在处理英文字符串的时候,该函数的第四个参数($encoding)可以忽略。
2、在处理中文字符串的时候,就要小心了,一定要考虑编码问题,编码不同,中文的值也不同。
3、在中文字符串导入数据库时,就显得更为重要了。
4、处理字符串或文本的编码能力,是衡量程序员功力的一项标准。

补充:substr和mb_substr的区别

异同点:

两个函数都是截取字符串的长度,不同的是mb_substr可以针对多字节编码的汉字进行截取,从而防止乱码的出现

实例说明:

示例1:

<?php
$chuan="我是中国人!";
echo substr($chuan,0,3);
echo '<br />';
echo mb_substr($chuan,0,3,'utf8');
?>

运行结果:


我是中

在utf8编码下,由于一个汉字占3个字节,所以第一个输出的是: 我
第二个输出的是: 我是中

示例2:

<?php
$chuan="我是中国人!";
echo substr($chuan,0,-4);
echo '<br />';
echo mb_substr($chuan,0,-2,'utf8');
?>

运行结果:

我是中国
我是中国

两个输出的都是: 我是中国
第一个长度为负4,就会省略掉!和人,从零开始,就会包括我是中国
第二个同理

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
php 时间计算问题小结
Jan 04 PHP
19个超实用的PHP代码片段
Mar 14 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
mongodb和php的用法详解
Mar 25 PHP
PHP中的异常处理机制深入讲解
Nov 10 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 #PHP
Laravel向公共模板赋值方法总结
Jun 25 #PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 #PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 #PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 #PHP
提高Laravel应用性能方法详解
Jun 24 #PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 #PHP
You might like
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
js文字横向滚动特效
2015/11/11 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
zookeeper python接口实例详解
2018/01/18 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
详解python中的json和字典dict
2018/06/22 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
python实现mean-shift聚类算法
2020/06/10 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
中海讯通笔试题
2015/09/15 面试题
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
2015年个人实习工作总结
2015/05/28 职场文书