plejus / pluralize
Pluralize any English word. You can also check if word is in plural or singular form.
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 4 981
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 1
Requires
- php: >=5.6.0
This package is auto-updated.
Last update: 2024-08-21 20:55:30 UTC
README
Pluralize and Singularize any English word. You can also check if word is in plural or singular form.
Module contains list of irregular and uncountable rules. You can also add your custom rules.
Installation
composer require plejus/pluralize
Usage
<?php use plejus\PhpPluralize\Inflector; $inflector = new Inflector(); $output = $inflector->plural("dog"); // output: "dogs" $output = $inflector->singular("dogs"); // output: "dog" $output = $inflector->isPlural("dogs"); // output: true $output = $inflector->isSingular("dogs"); // output: false $inflector->addIrregularRule('something', 'some things'); $output = $inflector->plural("something"); // output: "some things" $inflector->addSingularRule('/singles$/i', 'singular'); $output = $inflector->singular("singles"); // output: "singular
Real Life Examples
Group some animal forum tags to help user find content
<?php use plejus\PhpPluralize\Inflector; $tags = [ 100 => "dog", 101 => "parrot", 102 => "dogs", 103 => "monkeys", 104 => "cats", 105 => "cat", 106 => "doggies", ]; $inflector = new Inflector(); $inflector->addSingularRule('/doggies$/i', 'dog'); $groups = []; foreach ($tags as $id => $tag) { $correctTag = $inflector->isSingular($tag) ? $tag : $inflector->singular($tag); if (!array_key_exists($correctTag, $groups)) { $groups[$correctTag] = []; } $groups[$correctTag][] = $id; } /* * Output: * * Array ( [dog] => Array ( [0] => 100 [1] => 102 [2] => 106 ) [parrot] => Array ( [0] => 101 ) [monkey] => Array ( [0] => 103 ) [cat] => Array ( [0] => 104 [1] => 105 ) ) */
Display correct form of word
<?php use plejus\PhpPluralize\Inflector; $inflector = new Inflector(); for ($i = 1; $i <= 3; $i++) { echo "I have $i " . $inflector->pluralize("apple", $i); } /* * Output: * "I have 1 apple" * "I have 2 apples" * "I have 3 apples" */
License
MIT