Do you remember PHP's string functions?
If not, just wrap you text with Text! It will save a minute on your coding.
Text is extracted from kzykhys/Ciconia. this is used for markdown processing.
Modify your composer.json and run php composer.phar update
{
"require": {
"kzykhys/text":"~1.0.0"
}
}PHP5.4+
Text acts like a string
<?php
use KzykHys\Text\Text;
$text = new Text('Lorem Ipsum');
echo $text;
// Lorem Ipsum
Text can also be called statically
<?php
use KzykHys\Text\Text;
$text = Text::create('Lorem Ipsum');
echo $text;
// Lorem Ipsum
Manipulation methods are chainable:
$text = new Text('foo');
$text
->append('bar') // foobar
->prepend('baz') // bazfoobar
->wrap('-') // -bazfoobar-
->upper() // -BAZFOOBAR-
->lower() // -bazfoobar-
->trim('-') // bazfoobar
->rtrim('r') // bazfooba
->ltrim('b') // azfooba
;Special note for replace()
$text = new Text('FooBarBaz');
$text->replace('/Foo(Bar)(Baz)/', function (Text $whole, Text $bar, Text $baz) {
return $bar->upper()->append($baz->lower());
});
echo $text;
// BARbazIf the second argument is callable, callback takes at least one parameter. The whole match being first, and matched subpatterns.
All parameters are Text instance.
| Method | Description |
|---|---|
| create($text) | Create a new Text instance. |
| append($text) | Append the string. |
| prepend($text) | Prepend the string. |
| wrap($start, [$end]) | Surround text with given string. |
| lower() | Make a string lowercase. |
| upper() | Make a string uppercase. |
| trim([$charList]) | Strip whitespace (or other characters) from the beginning and end of a string. |
| rtrim([$charList]) | Strip whitespace (or other characters) from the end of a string. |
| ltrim([$charList]) | Strip whitespace (or other characters) from the beginning of a string. |
| escapeHtml([$option]) | Convert special characters to HTML entities. |
| replace($pattern, $replacement) | Perform a regular expression search and replace. If $replacement is the callable, a callback that will be called and passed an array of matched elements in the subject string. |
| replaceString($search, $replace) | Replace all occurrences of the search string with the replacement string. |
| indent([$spaces]) | Add one level of line-leading spaces. |
| outdent([$spaces]) | Remove one level of line-leading tabs or spaces. |
| detab([$spaces]) | Convert tabs to spaces. |
| eachLine($callback) | Apply a user function to every line of the string. |
| Method | Description |
|---|---|
| isEmpty() | Determine whether a variable is empty |
| isNumeric() | Finds whether a variable is a number or a numeric string |
| match($pattern, [&$matches]) | Perform a regular expression match |
| Method | Description |
|---|---|
| split($pattern, [$flags]) | Split string by a regular expression |
| lines([$pattern]) | Split string by a line break |
| chars() | Convert a string to an array |
| length() | Gets the length of a string |
| countLines() | Gets the number of lines |
| indexOf($needle, [$offset]) | Find the position of the first occurrence of a substring in a string |
| Method | Description |
|---|---|
| save($path) | Write a string to a file |
The MIT License
Kazuyuki Hayashi (@kzykhys)