pawelzny / trimmer
Helps trimming string to given length rounded to whole words.
Requires
- php: ^5.6 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ^5.6
This package is not auto-updated.
Last update: 2025-04-26 23:42:03 UTC
README
Trimmer provide support for string trimming to given length methods, and also trimming with words aware. Will not cut word in half.
Installation:
If composer is installed globally in your OS:
composer require pawelzny/trimmer
If composer is installed locally in your project directory:
php composer.phar require pawelzny/trimmer
Get started
Use facade to access Trimmer objects or import proper class and use directly.
Trim to characters length:
<?PHP use Trimmer\Trim; $string = "Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean."; $trim = Trim::chars($string, $length=40); echo $trim->trim(); // Far far away, behind the word mountai...
Trim to words length:
<?PHP use Trimmer\Trim; $string = "Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean."; $trim = Trim::words($string, $length=40); echo $trim->trim(); // Far far away, behind the word...
API
Builds in constants:
<?PHP use Trimmer\Trim; echo Trim::ELLIPSIS; // ... echo Trim::EOL; // [end of line] echo Trim::SPACE; // [white space] echo Trim::TABULATOR; // [tab character] echo Trim::DEFAULT_DELIMITER; // ...
Facade:
Trim::chars()
CharsTrimmer: constructor(string: $string [, int: $length=null [, string: $delimiter=null]])
Trim::words()
WordsTrimmer: constructor(string: $string [, int: $length=null [, string: $delimiter=null]])
<?PHP use Trimmer\Trim; $chars = Trim::chars($string, $length=30, $delimiter=''); $words = Trim::words($string, $length=30, $delimiter='');
Methods:
Trim
string: trim()
Performs trimming on string and return new trimmed string
<?PHP use Trimmer\Trim; $string = 'Far far away, behind the word mountains'; Trim::chars($string)->trim(); Trim::words($string)->trim();
Set new length
null: setLength(int: $length)
Caution!: delimiter length will be automatically substracted from trimming length.
<?PHP use Trimmer\Trim; $string = 'Far far away, behind the word mountains'; $trim = Trim::chars($string); $trim->setLength(30);
Set Delimiter
null: setDelimiter(string: $delimiter)
<?PHP use Trimmer\Trim; $string = 'Far far away, behind the word mountains'; $trim = Trim::chars($string); $trim->setDelimiter('[read more]');
Without Facade
If you do not want to use facade you can create objects directly.
<?PHP use Trimmer\Services\WordsTrimmer; use Trimmer\Services\CharsTrimmer; use Trimmer\Trim; $string = 'Far far away, behind the word mountains'; $length = 30; $delimiter = Trim::DEFAULT_DELIMITER; $chars = new CharsTrimmer($string, $length, $delimiter); $newDelimiter = 'read more...'; $newLength = 40; $chars->setDelimiter($newDelimiter); $chars->setLength($newLength); $chars->trim(); $words = new WordsTrimmer($string, $length, $delimiter); $words->setDelimiter($newDelimiter); $words->setLength($newLength); $words->trim();