davechild/textstatistics

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

1.0.3 2018-08-21 08:17 UTC

This package is auto-updated.

Last update: 2024-08-30 01:20:03 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

PHP 文本统计类可以帮助您识别网站内容的缺陷,尤其是可读性方面的缺陷。

它允许您使用常见的评分系统来测量文本的可读性,包括

  • Flesch-Kincaid 阅读易度
  • Flesch-Kincaid 学年水平
  • Gunning 雾评分
  • 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

许可证

http://www.opensource.org/licenses/bsd-license.php