PHP 统计实时统计汉字个数和区别

原创 2016年08月30日 18:00:14

1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlenmb_strlenmb_strwidth 这个三个函数去测试统计字符串的长度,看看把中文算成几个字节:

echo strlen("你好ABC") . "";
# 输出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";
# 输出 5
echo mb_strwidth("你好ABC") . "";
#输出 7

从上面的测试,我们可以看出:strlen 把中文字符算成 3 个字节,mb_strlen 不管


</script>中文还是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是我们想要的:中文 2 个字节,英文 1 个字节

同样截取字符串也建议使用 mb_strimwidth,也是按照 中文 2 个字节,英文 1 个字节 方式计算之后的,并且如果字数超过截取的要求,这个函数还可以在最后面自动添加‘…’。

mb_strimwidth($post_excerpt,0,240,'...','utf-8');

注意,最后添加‘utf-8’编码参数,可以避免中文截取乱码的问题。

2、

<script type="text/javascript">
    var len = $('#Form-field-Course-description').text().length;
    $('#Form-field-Course-description-group').append('<div id="txtNum" style="position: absolute;right: -50px;bottom: 18px;"></div>');
    var len=$('#Form-field-Course-description').val().length;
    $('#txtNum').text(len+"/500");
    $('#Form-field-Course-description').bind('input propertychange', function() {


         var val=$(this).val();
         var len=val.length;


         if(len>500){
            len=500;
            $(this).val(val.substring(0,500));
         }
        $('#txtNum').text(len+"/500");
    });
</script>

根据Octobercms后台update获取textarea长度,通过input,propertychange事件监听事件


php计算中英文混合或中文字符串的字数

php的strlen和mb_strlen用于统计字符个数。中英文混合的字符串中的中文字符则没有统计进来。所以得自己另想方法统计中英文混合的字符串的字数。以下是我的方法: 先用正则表达式把所有中文替换...
  • guowenshen
  • guowenshen
  • 2014年04月04日 11:08
  • 1840

玩转PHP(一)---php中处理汉字字符串长度:strlen和mb_strlen

今天正式开始学习PHP了,不过一不小心发现了一个PHP独特的地方:PHP在处理包含汉字的字符串时要特别注意。 比如 ...
  • u012116457
  • u012116457
  • 2015年01月09日 11:45
  • 9688

PHP 中如何自动计算中文字数?

PHP 中如何准确核算中文字数?这个是困惑我好久的疑问,PHP 中有许多函数能够核算字符串的长度,比方下面的比如,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测...
  • qq_16241043
  • qq_16241043
  • 2016年12月05日 12:36
  • 1009

PHP 中正确统计中文字数

PHP 中如何正确统计中文字数?       PHP 中其实有很多函数可以计算字符串的长度,比如下面的例子,分别使用了:        strlen()        mb_strlen()    ...
  • liuxin_0725
  • liuxin_0725
  • 2017年09月27日 17:23
  • 178

php计算字符串中英文和中文的字数

  • 2015年01月09日 17:06
  • 400B
  • 下载

C#统计字符串中汉字的个数,数字的个数,大写字母的个数,小写字母的个数

//for ( i = 0; i             //{             //    //hanziCount = //如果检查的字符是汉字则计数器加1            ...
  • onlyzkg
  • onlyzkg
  • 2014年07月11日 16:29
  • 1195

java统计汉字,字母数字等个数

import java.util.regex.Matcher; import java.util.regex.Pattern; public class CountTest { public...
  • qq_27231343
  • qq_27231343
  • 2016年05月16日 12:51
  • 1477

php 统计可读字数

$recordset = array(array('body'=>'中国人李34团%$长教#@$导我,们.说,年学子应该《参军》。李?!~老【团长--还教】导,我aa们说,接b受t军“队”的管理?和....
  • fengjunoo
  • fengjunoo
  • 2016年06月11日 14:41
  • 604

统计字数问题

本题目采用了排列组合的思想。分别计算每个数字在每一位上出现的次数,累加之后,即为最后的结果。 需要特别注意的是,我们直接用排列组合直接计算,但是并没有把0 和其他数字分开来算,所以这样计算出来...
  • chen_swe
  • chen_swe
  • 2016年03月16日 16:12
  • 420

统计字符串中的汉字个数

//问题描述:统计字符串中的汉字个数。 //解题思路是:从汉字机内码的特点考虑:一个汉字是有两个ASCII字符构成,且这两个字符的ASCII码值小于0。 #include #inclu...
  • u014053368
  • u014053368
  • 2014年03月26日 21:08
  • 1110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP 统计实时统计汉字个数和区别
举报原因:
原因补充:

(最多只允许输入30个字)