PHPackages                             silantifross/gibberish-detector - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. silantifross/gibberish-detector

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

silantifross/gibberish-detector
===============================

Determines if text contains gibberish.

v2.1.0(1y ago)215.9k↓30.2%MITPHPPHP &gt;=8.0

Since Dec 17Pushed 1y agoCompare

[ Source](https://github.com/SilantiFross/gibberish-detector)[ Packagist](https://packagist.org/packages/silantifross/gibberish-detector)[ RSS](/packages/silantifross-gibberish-detector/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Gibberish Detector PHP
======================

[](#gibberish-detector-php)

Determines if text contains gibberish.

Example 1: You want phrases like "Hello, world" and never "dsfknifdkoindwsif32839hdd"

Example 2: You want usernames like "jamesjohn" and never "WWWWWWWWWWWWWWWWWWW"

How does it work?
-----------------

[](#how-does-it-work)

Markov Chains. In this case, they describe which letters should or should not to be next to each other. By showing examples of good text and bad text, it teaches the software how to guess what letter combinations look like gibberish and which letter combinations look reasonably likely to be good text.

How do I use it?
----------------

[](#how-do-i-use-it)

1. Train the Markov Chains

```
$trainingSuccessful = Gibberish::train(
	$big_text_file,
	$good_text_file,
	$bad_text_file,
	$matrix_file
	);

```

2. Test new text against the Markov Chains

```
$oddsItsGoodText = Gibberish::test($inputText, $matrix_file, true);

```

Who made it?
------------

[](#who-made-it)

Originally written in Python by Rob Renaud.

Translated into PHP by Oliver Lillie.

Spruced up by Richard512

Implementation in composer by Jo Surikat

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance40

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Total

2

Last Release

513d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6378a10f500eba602712961f6dc21e925aed81bb0b1c20ffa87944cefe95090?d=identicon)[happySisyphus](/maintainers/happySisyphus)

---

Top Contributors

[![devthejo](https://avatars.githubusercontent.com/u/6781828?v=4)](https://github.com/devthejo "devthejo (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/silantifross-gibberish-detector/health.svg)

```
[![Health](https://phpackages.com/badges/silantifross-gibberish-detector/health.svg)](https://phpackages.com/packages/silantifross-gibberish-detector)
```

###  Alternatives

[unisolutions/silverstripe-copybutton

Adds copy button to the GridField.

1736.5k](/packages/unisolutions-silverstripe-copybutton)[fluidtypo3/builder

The builder package from FluidTYPO3

259.6k1](/packages/fluidtypo3-builder)[trafiklab/gtfs-php-sdk

Use GTFS and GTFS-realtime data in your PHP projects

175.6k](/packages/trafiklab-gtfs-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
