greg0 / string-builder
Simple PHP string builder inspired by C# StringBuilder
0.1
2018-09-20 19:10 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^7.3
Suggests
- ext-mbstring: Needed mb extension support. You can also install symfony/polyfill-mbstring
This package is auto-updated.
Last update: 2024-10-21 20:46:56 UTC
README
Simple PHP string builder inspired by C# StringBuilder
Install
composer require greg0/string-builder
Sample usages
Creating string
$sb = new StringBuilder('Initial string'); $sb->append(' appended string'); $sb->appendLine(); $sb->appendLine('Other paragraph'); $sb->appendFormat('%s: %d', 'Value', 23); $sb->appendLine(); $sb->append('End of poem.'); echo $sb->toString(); // echo (string)$sb;
Result:
Initial string appended string
Other paragraph
Value: 23
End of poem.
There are provided some string manipulation methods:
Insert string into position:
$sb = new StringBuilder('---[]---'); $sb->insert(4, 'o.o'); echo $sb->toString(); // ---[o.o]---
$sb = new StringBuilder('---[]---'); $sb->insert(4, 'o', 2); echo $sb->toString(); // ---[oo]---
Removes the specified range of characters
$sb = new StringBuilder('Lorem ipsum dolor sit amet.'); $sb->remove(6, 5); // remove "ipsum" echo $sb->toString(); // Lorem dolor sit amet.
Replaces all occurrences of a specified string with another specified string
$sb = new StringBuilder('Lorem ipsum dolor sit amet.'); $sb->replace('ipsum', 'lirum'); echo $sb->toString(); // Lorem lirum dolor sit amet.
Clear string
$sb = new StringBuilder('Lorem ipsum dolor sit amet.'); $sb->clear(); echo $sb->toString(); // will return empty string
More examples provided in unit tests.
TODO
- Encoding support
- More test cases
- Advanced "Format" method (see StringBuilder.AppendFormat)
- Many different interface implementations (e.g. Streams)