PHPackages                             wamania/php-stemmer - 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. wamania/php-stemmer

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

wamania/php-stemmer
===================

Native PHP Stemmer

v4.0.0(1y ago)1434.0M↓16%36[3 issues](https://github.com/wamania/php-stemmer/issues)20MITPHPPHP &gt;=7.3

Since Mar 7Pushed 1y ago12 watchersCompare

[ Source](https://github.com/wamania/php-stemmer)[ Packagist](https://packagist.org/packages/wamania/php-stemmer)[ RSS](/packages/wamania-php-stemmer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (14)Used By (20)

php-stemmer
===========

[](#php-stemmer)

PHP native implementation of Snowball stemmer

Accept only UTF-8

- [Languages](#languages)
- [Installation](#installation)
- [Usage](#usage)

Languages
---------

[](#languages)

Available :

- Catalan (by Orestes Sanchez Benavente )
- Danish
- Dutch
- English
- Finnish (by [Mikko Saari](https://github.com/msaari/))
- French
- German
- Italian
- Norwegian
- Portuguese
- Romanian
- Russian
- Spanish
- Swedish

Installation
------------

[](#installation)

For PHP5, use 1.3

```
composer require wamania/php-stemmer "^1.3"

```

For PHP7 use 2.x (branch 2.x is backward compatible with 1.x)

```
composer require wamania/php-stemmer "^2.0"

```

For PHP^7.3 and PHP^8.0 use 3.x (backward compatible, but phpunit^9 don't work with php &lt; 7.3)

```
composer require wamania/php-stemmer "^3.0"

```

For PHP^8.4 use 4.x (avoid deprecated by switching from voku utf8 to [joomla/string](https://github.com/joomla-framework/string) )

```
composer require wamania/php-stemmer "^4.0"

```

Usage
-----

[](#usage)

For 2.x ~ 4.x, you should use the factory

```
use Wamania\Snowball\StemmerFactory;

// use ISO_639 (2 or 3 letters) or language name in english
$stemmer = StemmerFactory::create('fr');
$stemmer = StemmerFactory::create ('spanish');

// then
$stem = $stemmer->stem('automóvil');
```

Or the manager

```
use Wamania\Snowball\StemmerManager;

$manager = new StemmerManager();
$stem = $manager->stem('automóvil', 'es');
```

In 1.3, you must instantiate manually

```
use Wamania\Snowball\French;

$stemmer = new French();
$stem = $stemmer->stem('anticonstitutionnellement');
```

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance40

Moderate activity, may be stable

Popularity61

Solid adoption and visibility

Community37

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 64.8% 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 ~321 days

Recently: every ~391 days

Total

11

Last Release

513d ago

Major Versions

1.3 → v2.02020-01-16

v2.2.0 → v3.0.02021-08-17

v3.0.1 → v4.0.02024-12-22

PHP version history (3 changes)1.0PHP &gt;=5.3.0

v2.0PHP &gt;=7.0

v3.0.0PHP &gt;=7.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5286033?v=4)[Wamania](/maintainers/wamania)[@wamania](https://github.com/wamania)

---

Top Contributors

[![wamania](https://avatars.githubusercontent.com/u/5286033?v=4)](https://github.com/wamania "wamania (35 commits)")[![lcobucci](https://avatars.githubusercontent.com/u/201963?v=4)](https://github.com/lcobucci "lcobucci (6 commits)")[![HLeithner](https://avatars.githubusercontent.com/u/1497730?v=4)](https://github.com/HLeithner "HLeithner (3 commits)")[![miceno](https://avatars.githubusercontent.com/u/315830?v=4)](https://github.com/miceno "miceno (3 commits)")[![marclaporte](https://avatars.githubusercontent.com/u/1004261?v=4)](https://github.com/marclaporte "marclaporte (2 commits)")[![wamaniaserveur](https://avatars.githubusercontent.com/u/23375968?v=4)](https://github.com/wamaniaserveur "wamaniaserveur (1 commits)")[![msaari](https://avatars.githubusercontent.com/u/6630010?v=4)](https://github.com/msaari "msaari (1 commits)")[![patrickomeara](https://avatars.githubusercontent.com/u/571773?v=4)](https://github.com/patrickomeara "patrickomeara (1 commits)")[![SharkyKZ](https://avatars.githubusercontent.com/u/7325021?v=4)](https://github.com/SharkyKZ "SharkyKZ (1 commits)")[![Hackwar](https://avatars.githubusercontent.com/u/313866?v=4)](https://github.com/Hackwar "Hackwar (1 commits)")

---

Tags

phpsnowballstemmerphpporterstemmer

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wamania-php-stemmer/health.svg)

```
[![Health](https://phpackages.com/badges/wamania-php-stemmer/health.svg)](https://phpackages.com/packages/wamania-php-stemmer)
```

###  Alternatives

[nadar/stemming

Stemming by Language

17134.8k7](/packages/nadar-stemming)[imanghafoori/laravel-anypass

A minimal yet powerful package to help you in development.

21421.6k](/packages/imanghafoori-laravel-anypass)

PHPackages © 2026

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