一篇文章中由数字、中文、字母、符号等多个不同的元素组成,如果需要统计它们,如果一个个字符的数,那将会是很麻烦的一件事,而且容易数错,那么怎样用常见的php程序来自动的为我们计算统计出一篇文章中有多少常见的不同类型的字符个数呢?
假设这里有一篇文章,我们将其内容存储在变量$wzwz里.
$wzwz="XXX文字内容:序列1、2、3、4、5.......";
1、文章的总字符数
<?php
echo $zong="总字符数为:".mb_strlen($wzwz,'utf-8');
?>
在php程序中,有着strlen函数可以快速的统计出一段字符串中的字符长度,但这里为什么没有用strlen呢?
strlen虽然可以获取字符长度,但是在计算中文时,会将其认为2个字符数,所以这里得用php中mbstring扩展的mb_strlen函数.
mb_strlen函数可以很好的计算中文字符以及设置字符编码从而更加准确的返回对应的字符数.
2、数字的个数
<?php
$zhengze="/[0-9]{1}/";
preg_match_all($zhengze,$wzwz,$shuzi);
echo $shu="数字个数为:".count($zhengze[0]);
?>
如果需要统计数字个数,我们首先需要用正则将其它字符都过滤了,只留下数字,然后通过count计算留下的字符个数.
3、中文字符数
<?php
$zhengze="/[\x{4e00}-\x{9fa5}]/siu";
preg_match_all($zhengze,$wzwz,$shuzi);
echo $zhong="中文字符数为:".count($zhengze[0]);
?>
中文字符数计算的方式与计算数字个数的方式一样的原理,都是需要用正则来获得单纯的中文字符数组.然后统计数组即可计算出中文的个数.
4、字母个数
<?php
$zhengze="/[a-zA-Z]{1}/";
preg_match_all($zhengze,$wzwz,$shuzi);
echo $zimu="字母的个数为:".count($zhengze[0]);
?>
同理,只不过将正则换成了获得一篇文章中大写字母与小写字母的正则,从而统计文章字数.
5、符号的字数
<?php
$fuhao = $zong-$shu-$zhong-$zimu;
?>
符号的获取就比较简单了,我们只需要将获得的总字符数分别减去数字、中文、字母的个数就可以大致的计算出文章中符号的个数了.
以上就是怎样使用php代码对一篇文字中不同文字类型字符数进行简单的计算与统计.