利用PHP函数计算中英文字符串长度的方法


Posted in PHP onNovember 11, 2014

本文实例讲述了利用PHP函数计算中英文字符串长度的方法。分享给大家供大家参考。具体实现方法如下:

一般来说大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一个字符串中字符的长度呢?还有有mb_strlen().

具体代码如下:

echo $str = 'PHP点点通'; 
echo strlen($str); //3*1+3*3=12  

echo mb_strlen($str, 'gb2312'); //3*1+3*2=9  

echo mb_strlen($str, 'utf-8'); //6

可恶的是,mb系列的函数并不是PHP核心函数,默认没有开启的,还有一个超简单的方法,通过正则将字符串分解为字符个体,计算字符的个数即为字符串的长度,代码如下:
<?php  

function _strlen($str)  

{  

        preg_match_all("/./us", $str, $matches);  

        return count(current($matches));  

}  

  

echo _strlen("PHP点点通");  //6  

?>

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

PHP 相关文章推荐
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
PHP自定义函数收代码
Aug 01 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
php URL跳转代码 减少外链
Jun 25 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
php 删除cookie方法详解
Dec 01 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
PHP引用返回用法示例
May 28 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 #PHP
PHP基于imap获取邮件实例
Nov 11 #PHP
php无限极分类递归排序实现方法
Nov 11 #PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 #PHP
详谈PHP文件目录基础操作
Nov 11 #PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 #PHP
php 魔术方法详解
Nov 11 #PHP
You might like
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
js a标签点击事件
2017/03/30 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python pandas常用函数详解
2018/02/07 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
关于Java String的一道面试题
2013/09/29 面试题
什么是TCP/IP
2014/07/27 面试题
大学生学习党课思想汇报
2014/01/03 职场文书
打造完美自荐信
2014/01/24 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
2015毕业寄语大全
2015/02/26 职场文书
《包身工》教学反思
2016/02/23 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers