Trimmer
Trimmer provide support for string trimming to given length methods,
and also trimming with words aware. Will not cut word in half., (*1)
Installation:
If composer is installed globally in your OS:, (*2)
composer require pawelzny/trimmer
If composer is installed locally in your project directory:, (*3)
php composer.phar require pawelzny/trimmer
Get started
Use facade to access Trimmer objects or import proper class and use directly., (*4)
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]]), (*5)
Trim::words()
WordsTrimmer: constructor(string: $string [, int: $length=null [, string: $delimiter=null]]), (*6)
<?PHP
use Trimmer\Trim;
$chars = Trim::chars($string, $length=30, $delimiter='');
$words = Trim::words($string, $length=30, $delimiter='');
Methods:
Trim
string: trim(), (*7)
Performs trimming on string and return new trimmed string, (*8)
<?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), (*9)
Caution!: delimiter length will be automatically substracted from trimming length., (*10)
<?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), (*11)
<?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., (*12)
<?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();