cruiser13/textstatistics

根据各种算法测量文本可读性的PHP包。

1.0.1 2015-04-22 14:55 UTC

This package is auto-updated.

Last update: 2024-09-21 11:04:40 UTC


README

默认DaveChild/Text-Statistics仓库的分支,增加了德语功能

Build Status Scrutinizer Code Quality Code Coverage

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

有用链接

主页和实时版本

https://readable.com/

JavaScript端口

https://github.com/cgiffard/TextStatistics.js

许可证

https://open-source.org.cn/licenses/bsd-license.php