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

插件来源 https://blog.ela.moe/archives/255/
GitHub项目地址 https://github.com/elatisy/Typecho_WordsCounter

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 中如何正确统计中文字数

统计文章字数和全站总字数相关推荐

  1. 自制脚本,统计个人csdn博客总字数

    目录 前言 一.自动爬取所有文章的链接地址 二.字数统计 总结 前言 在csdn写博客也已经一年多了,经常忍不住想知道自己总共写了多少字.可是目前官方只能统计单篇文章的总字数,却没有提供所有文章的字数 ...

  2. python怎么统计单词总数_Python【习题】:统计纯英文文本中总字数

    人生苦短,我用Python 环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1 声明:学习资源来自于网络,这里是自己学习笔记总结与 ...

  3. python统计汉字个数是_Python入门(一):一句话统计文章不重复汉字数

    [x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869] 使用Python可以实现一句 ...

  4. 【软件工程】统计文章字数和出现频率较高词汇的程序实现

    代码功能: 能够实现统计所给任意段落单词的总数和排序频率较高词汇的功能. 文章字数不限,高频词汇取前十个. 编程语言:c语言 具体代码: // 字数统计_1.cpp : Defines the ent ...

  5. Python入门(一):一句话统计文章不重复汉字数

    [x for x in set(open("c:\\test.txt").read()) if 19968<=ord(x)<=40869] 使用Python可以实现一句 ...

  6. pandas统计文章字数:TypeError: object of type ‘float‘ has no len()

    使用pandas.read_csv()读取文件, 统计文章字数时:train['text_len'] = train['text'].map(len) 报错: TypeError: object of ...

  7. python统计英文句子每个单词字数_Python实现的统计文章单词次数功能示例

    本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认 ...

  8. Python爬虫 - 统计自己读过小说的字数

    写在前面的废话 没错,这个爬虫的确只是我想统计下自己读小说的速度和自己已经读了多少小说写的,可以爬一些小说的数据,不能用来爬小说本身.不过稍加改进可以实现更多的功能,我会在之后的文章实现其他的功能. ...

  9. python统计小说人物_Python爬虫 - 统计自己读过小说的字数

    写在前面的废话 没错,这个爬虫的确只是我想统计下自己读小说的速度和自己已经读了多少小说写的,可以爬一些小说的数据,不能用来爬小说本身.不过稍加改进可以实现更多的功能,我会在之后的文章实现其他的功能. ...

最新文章

  1. 【错误记录】Android Studio 编译报错 ( AppCompat does not support the current theme features )
  2. UWP AppBarButton Icon 图标样式集合
  3. php获取网站根目录
  4. linux jdk免安装配置,生产环境免安装jdk的使用方法
  5. Android开发二 什么是Android
  6. QTP的那些事--操作excel的函数
  7. Qt5中文乱码解决方案
  8. Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
  9. jQuery first()和last()函数示例
  10. 报错:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle解决
  11. Ubuntu20.04安装qt详细教程
  12. 服务器怎么ghost备份系统,GHOST备份系统的方法 GHOST备份系统教程
  13. javascript基础常识问答(七)
  14. React 备忘录 v16
  15. vue图片查看器,支持放大 缩小 还原
  16. 混改中光城投集团控股有限公司 合作方案是如何完成的?
  17. GNU链接脚本(06) - SECTIONS指令
  18. GraphQL是什么,入门了解看这一篇就够了!
  19. Linux驱动 | 加载.ko驱动模块的两种方法(insmod与modprobe)
  20. 《招标投标法》和《招标投标实施条例》有什么关系?

热门文章

  1. MyEclipse打不开项目下的jsp文件,或是打开jsp文件报错!
  2. html 遮罩层穿透问题,移动页面点击穿透问题解决方案
  3. fixed income
  4. Google Play 管理中心新增战略指南,助力游戏收入增长
  5. 普通程序员如何走出困境
  6. Qt启动进程ping网址
  7. ajax nginx 转发 sessionid_百度、京东、网易、腾讯、淘宝等大厂都在用的Web服务器Nginx详解
  8. codeforces 1438C、Engineer Artem
  9. 晶振(crystal)与晶振(oscillator)的区别
  10. npm rebuild记录