php统计中英文混合的文章字数
- function ccStrLen($str) #计算中英文混合字符串的长度
- {
- $ccLen=0;
- $ascLen=strlen($str);
- $ind=0;
- $hasCC=ereg("[xA1-xFE]",$str); #判断是否有汉字
- $hasAsc=ereg("[x01-xA0]",$str); #判断是否有ASCII字符
- if($hasCC && !$hasAsc) #只有汉字的情况
- return strlen($str)/2;
- if(!$hasCC && $hasAsc) #只有Ascii字符的情况
- return strlen($str);
- for($ind=0;$ind<$ascLen;$ind++)
- {
- if(ord(substr($str,$ind,1))>0xa0)
- {
- $ccLen++;
- $ind++;
- }
- else
- {
- $ccLen++;
- }
- }
- return $ccLen;
- }
- function ccStrLeft($str,$len) #从左边截取中英文混合字符串
- {
- $ascLen=strlen($str); if($ascLen<=$len) return $str;
- $hasCC=ereg("[xA1-xFE]",$str); #同上
- $hasAsc=ereg("[x01-xA0]",$str);
- if(!$hasCC) return substr($str,0,$len);
- if(!$hasAsc)
- if($len & 0x01) #如果长度是奇数
- return substr($str,0,$len+$len-2);
- else
- return substr($str,0,$len+$len);
- $cind=0;$flag=0;
- while($cind<$ascLen)
- {
- if(ord(substr($str,$cind,1))<0xA1) $flag++;
- $cind++;
- }
- if($flag & 0x01)
- return substr($str,0,$len);
- else
- return substr($str,0,$len-1);
- }
php统计中英文混合的文章字数的更多相关文章
- php计算中英文混合或中文字符串的字数
转载来源链接: http://blog.csdn.net/hueise_h/article/details/22920937 php的strlen和mb_strlen用于统计字符个数.中英文混合的字符 ...
- LaTeX统计文章字数
今天学会了用LaTeX命令统计文章字数,命令如下: textcount doc_full_path.tex 效果如下:
- Lua截取utf-8编码的中英文混合字符串
参考博客:UTF8字符串在lua的截取和字数统计[转载] 需求 按字面个数来截取子字符串 函数(字符串, 开始位置, 截取长度) utf8sub(,) = 好1世界哈 utf8sub(,) = 你好1 ...
- 用C#截取指定长度的中英文混合字符串
很早以前写过一篇文章(用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则 ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- C#与JS实现 获取指定字节长度 中英文混合字符串 的方法
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要 ...
- 【目录】Matlab和C#混合编程文章目录
本博客所有文章分类的总目录链接:[总目录]本博客博文总目录-实时更新 1.Matlab和C#混合编程文章目录 9.接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点 8.国内第一 ...
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- C++语言,统计一篇英文文章中的单词数(用正则表达式实现)
下面的例子展示了如何在C++11中,利用regex_search()统计一篇英文文章中的单词数: #include <iostream> #include <regex> #i ...
随机推荐
- Map.putAll()用法
import Java.util.HashMap; public class Map_putAllTest {public static void main(String[] args){ //两 ...
- react-navigation 使用详解(转载)
上篇博客和大家分享了关于React Native jsBundle预加载,界面启动优化的内容,详情可点击: 基于最新版本React Native实现JsBundle预加载,界面秒开优化 一.开源库介绍 ...
- 打印GBK、GB2312字符集全字符
根据编码表填充数据就可以了~~~~(>_<)~~~~~\(≧▽≦)/~啦啦啦 #include <stdio.h> #include <stdlib.h> #inc ...
- Angular 组件
1 2 change是TimepickerDemoCtrl上的,mytime在timepicker内部改变生效就会触发 3 timepicker内部绑定TimepickerDemoCtrl对值的监控 ...
- [LeetCode&Python] Problem 292. Nim Game
You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...
- JSON JAVA 总结
1.如下是我所用json第三方jar包的maven坐标 <!--可引用的jar--> <dependency> <groupId>net.sf.json-lib&l ...
- ajax遍历数组对象
success: function(data){ console.log(data); for (var warn in data) { alert(data[warn].kh_lxr); } } d ...
- bulma入门
http://www.ruanyifeng.com/blog/2017/10/bulma.html
- A Spy in the Metro(UVA 1025 ACM/ICPC World Finals2003)
---恢复内容开始--- 题意:有n(2<=n<=50)个车站,从左到右编号为1~n,有M1辆列车从第1站向右开,还有M2辆列车从第N站向左开.在时刻0,间谍从第1站出发,目的是在时刻T( ...
- 《DSP using MATLAB》Problem 5.35
余弦序列的谱,原始频率w0会泄露到其它频率处. 从其它书中找到的证明过程: 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...