cruiser13 / textstatistics
根据各种算法测量文本可读性的PHP包。
1.0.1
2015-04-22 14:55 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.2.*
Suggests
- ext-bcmath: More accurate floating point calculations.
- ext-mbstring: Handle multi-byte text properly.
This package is auto-updated.
Last update: 2024-09-21 11:04:40 UTC
README
默认DaveChild/Text-Statistics仓库的分支,增加了德语功能
PHP文本统计类可以帮助您识别网站内容中的问题,尤其是可读性方面。
它允许您使用常见的评分系统来衡量文本的可读性,包括
- Flesch Kincaid阅读容易度
- Flesch Kincaid等级水平
- Gunning Fog评分
- Coleman Liau指数
- SMOG指数
- 自动可读性指数
- Dale-Chall可读性评分
- Spache可读性评分
测量文本可读性的一大挑战是音节计数,这可能会很复杂。在统计类中有处理单词音节计数的规则,以及一大堆用于测试这些规则的单词列表。
请随时向测试单词列表添加内容,尤其是如果您能找到音节计数不正确的单词(如果还能添加代码到类中以便您的单词能够正确处理那就更好了!)。
同形异义词的计数将是不可能的,因为它们依赖于上下文(例如,“他骑着摩托车在房子周围转悠”,“她骑着摩托车去学校”),但这类词的数量很少,因此不是问题。资源文件夹中有一个不太全面的此类词列表。
安装
使用Composer
{ "require": { "davechild/textstatistics": "1.*" } }
如果使用PHP版本小于7.2,请指定版本1.0.2。
衡量可读性
use DaveChild\TextStatistics as TS; $textStatistics = new TS\TextStatistics; $text = 'The quick brown fox jumped over the lazy dog.'; echo 'Flesch-Kincaid Reading Ease: ' . $textStatistics->fleschKincaidReadingEase($text);
更多文本小把戏!
此包包含几个具有静态方法的类,可以独立调用。如果需要,您可以将文本编码作为第二个参数传递给这些方法。
单词复数化和单数化
echo DaveChild\TextStatistics\Pluralise::getPlural('banana'); // bananas echo DaveChild\TextStatistics\Pluralise::getSingular('bananas'); // banana
计数字节
echo DaveChild\TextStatistics\Syllables::syllableCount('banana'); // 3
字母、句子、单词计数
echo DaveChild\TextStatistics\Text::textLength('I ate a banana.'); // 15 echo DaveChild\TextStatistics\Text::letterCount('I ate a banana.'); // 11 echo DaveChild\TextStatistics\Text::wordCount('I ate a banana.'); // 4 echo DaveChild\TextStatistics\Text::sentenceCount('I ate a banana.'); // 1
有用链接
主页和实时版本
JavaScript端口
https://github.com/cgiffard/TextStatistics.js
许可证