coral-media/php-snowball

Snowball (libstemmer) bindings for PHP

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:C

Type:php-ext

Ext name:ext-snowball

pkg:composer/coral-media/php-snowball

v1.0.2 2026-02-06 17:08 UTC

This package is auto-updated.

Last update: 2026-02-06 17:09:28 UTC


README

Minimal PECL-style scaffold for a Snowball (libstemmer) extension with vendored sources.

Install using PIE

From sources

pie install --with-snowball

From Packagist

pie install coral-media/php-snowball --with-snowball

Further info PIE official repository

Build (from source)

phpize
./configure --with-snowball
make -j"$(nproc)"
make install

Windows support

Check the releases page. Download the compatible asset with your PHP version and make sure you load the extension in php.ini.

Usage

Basic stemming (defaults to English + UTF_8):

<?php
echo snowball_stem('running'); // run

Explicit language + encoding:

<?php
echo snowball_stem('corriendo', SNOWBALL_LANG_ES, SNOWBALL_ENCODING_UTF_8); // corr

Batch stemming for arrays (more efficient than looping in PHP):

<?php
$words = ['running', 'jumps'];
print_r(snowball_stem_array($words)); // ['run', 'jump']

Documentation

Notes

  • Vendored libstemmer sources live under lib/libstemmer.
  • If PIE install or building from source fails with 'make' '-j10'" failed try --make-parallel-jobs 1. Same procedure with make -j if building from sources. Adjust to any convenient value.