https://github.com/kzykhys/Text
Text - Simple 1 Class Text Manipulation Library
https://github.com/kzykhys/Text
Last synced: about 2 months ago
JSON representation
Text - Simple 1 Class Text Manipulation Library
- Host: GitHub
- URL: https://github.com/kzykhys/Text
- Owner: kzykhys
- Created: 2013-08-07T03:20:44.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-08-25T14:28:35.000Z (over 12 years ago)
- Last Synced: 2025-10-20T12:27:35.555Z (3 months ago)
- Language: PHP
- Size: 65.4 KB
- Stars: 53
- Watchers: 3
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-php-cn - 官网
- awesome-php - kzykhys/Text - 一个文本处理库 (字符串( Strings ))
README
Text - Simple 1 Class Text Manipulation Library
-----------------------------------------------
[](https://packagist.org/packages/kzykhys/text)
[](https://travis-ci.org/kzykhys/Text)
[](https://coveralls.io/r/kzykhys/Text?branch=master)
Do you remember [PHP's string functions][strings]?
If not, just wrap you text with `Text`! It will save a minute on your coding.
`Text` is extracted from [kzykhys/Ciconia][ciconia]. this is used for markdown processing.
Installation
------------
Modify your composer.json and run `php composer.phar update`
``` json
{
"require": {
"kzykhys/text":"~1.0.0"
}
}
```
Requirements
------------
**PHP5.4+**
Get Started
-----------
`Text` acts like a string
```
append('bar') // foobar
->prepend('baz') // bazfoobar
->wrap('-') // -bazfoobar-
->upper() // -BAZFOOBAR-
->lower() // -bazfoobar-
->trim('-') // bazfoobar
->rtrim('r') // bazfooba
->ltrim('b') // azfooba
;
```
Special note for `replace()`
``` php
$text = new Text('FooBarBaz');
$text->replace('/Foo(Bar)(Baz)/', function (Text $whole, Text $bar, Text $baz) {
return $bar->upper()->append($baz->lower());
});
echo $text;
// BARbaz
```
If the second argument is [callable], callback takes at least one parameter. The whole match being first, and matched subpatterns.
All parameters are `Text` instance.
API
---
### Manipulation (Chainable)
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.
### Test
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
### Miscellaneous
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
### Filesystem
Method | Description
---------------------------------|--------------
save($path) | Write a string to a file
License
-------
The MIT License
Author
------
Kazuyuki Hayashi (@kzykhys)
[ciconia]: https://github.com/kzykhys/Ciconia
[strings]: http://www.php.net/manual/en/ref.strings.php
[callable]: http://www.php.net/manual/en/language.types.callable.php