统计文章字数和全站总字数

编程入门 行业动态 更新时间:2024-10-11 07:31:57

统计文章<a href=https://www.elefans.com/category/jswz/34/1754682.html style=字数和全站总字数"/>

统计文章字数和全站总字数

关于统计文章字数这个功能最初我是在简书上看到的,现在在自己博客上我也想应用这个功能,便在网上寻找相关插件,找到一个比较满意的插件如下,并根据自己的需求,做了适当修改。

插件来源 /archives/255/
GitHub项目地址

WordsCounter

Typecho文章字数统计 & 全站字数统计插件
可在设置里调是否统计隐藏/私有文章字数

注意: 文件夹名字必须为WordsCounter才能正常使用

Usage

文章字数统计

在你想要输出的地方加上

<?php $this->charactersNum(); ?>

全站字数统计

在你想要输出的地方加上

<?php WordsCounter_Plugin::allOfCharacters(); ?>

修改

但是该插件并没有区分中文和英文字符,对于程序猿来说,在文章中无意会涉及到大量的代码,将这些代码都按照字数进行统计的话,那么每篇文章的字数是相当大的,所以我查阅了相关资料,对插件进行了相关修改,使其只统计中文的字符数。

将原来的 Plugins.php 文件中的统计单个文章的字数和统计全站字数的代码进行修改如下,其他地方均不变。

单个文章中中文字数

public static function charactersNum($archive) {$text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $archive->text);return mb_strlen($text,'UTF-8');// return mb_strlen($archive->text,'UTF-8');
}

全站文章中文字数

与上文方法类似,关键就是要在计算长度之前将文章中的中文过滤出来,此处不再赘述。

PHP统计字符长度

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

strlen 把中文字符算成 3 个字节,mb_strlen 不管中文还是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是我们想要的:中文 2 个字节,英文 1 个字节。

参考文章

  • Typecho字数统计插件
  • Typecho_WordsCounter GitHub项目地址
  • Typecho文章字数计算
  • PHP 中如何正确统计中文字数

更多推荐

统计文章字数和全站总字数

本文发布于:2023-06-29 08:31:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/942140.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字数   全站   文章

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!