文档章节

php计算字节数(含中文)

杨太化
 杨太化
发布于 2014/11/18 15:04
字数 159
阅读 16
收藏 0
代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**作用:统计字符长度包括中文、英文、数字
     * 参数:需要进行统计的字符串、编码格式目前系统统一使用UTF-8
     * 时间:2009-07-15
     * 修改记录:
             $str = "kds";
            echo sstrlen($str,'utf-8');
     * */
     function sstrlen($str,$charset) {        
        $n = 0; $p = 0; $c = '';
        $len = strlen($str);
        if($charset == 'utf-8') {
            for($i = 0; $i < $len; $i++) {
                $c = ord($str{$i});
                if($c > 252) {
                    $p = 5;
                } elseif($c > 248) {
                    $p = 4;
                } elseif($c > 240) {
                    $p = 3;
                } elseif($c > 224) {
                    $p = 2;
                } elseif($c > 192) {
                    $p = 1;
                } else {
                    $p = 0;
                }
                $i+=$p;$n++;
            }
        } else {
            for($i = 0; $i < $len; $i++) {
                $c = ord($str{$i});
                if($c > 127) {
                    $p = 1;
                } else {
                    $p = 0;
            }
                $i+=$p;$n++;
            }
        }        
        return $n;
    }


本文转载自:

共有 人打赏支持
杨太化
粉丝 13
博文 226
码字总数 26188
作品 0
深圳
程序员
strlen和mb_strlen的区别

在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 AD:2013云计算架构师峰会超低价抢票...

lg2045
2013/08/27
0
0
strlen和mb_strlen的区别

在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件...

freedonn
2014/11/07
0
0
PHP中strlen和mb_strlen的区别

在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件...

五味格子
2011/05/19
0
0
PHP下载文件名中文乱码解决方法和PHP下载流程分析

通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来下载,相信这个大家都会。那么用Content-Disposition设置下载的文件名,这个也有不少人知道吧。基本上,...

Junn
2012/12/23
0
1
json_encode不对中文进行转码、json_decode解析json字符串返回NULL的处理方法

josn_encode不对中文进行转码 用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 在PHP5.4及以上, Json新增了一个选项: JSONUNESCAPED_UNICODE, 故名...

anda0109
2017/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可爱的python测试开发库(python测试开发工具库汇总)

欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装。 链接 selenium - web UI自动化测试。 链...

python测试开发人工智能安全
今天
2
0
Shiro | 实现权限验证完整版

写在前面的话 提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。 Shiro框架 1、Shiro是基于Apache开源的强大灵活的开源...

冯文议
今天
1
0
linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部