sistemazione composer install
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
# php-mb-string
|
||||
|
||||
[](https://github.com/jfcherng/php-mb-string/actions)
|
||||
[](https://packagist.org/packages/jfcherng/php-mb-string)
|
||||
[](https://packagist.org/packages/jfcherng/php-mb-string)
|
||||
[](https://github.com/jfcherng/php-mb-string/blob/master/LICENSE)
|
||||
[](https://github.com/jfcherng/php-mb-string/stargazers)
|
||||
[](https://www.paypal.me/jfcherng/5usd)
|
||||
|
||||
A high performance multibyte sting implementation for frequently reading/writing operations.
|
||||
|
||||
## Why I Write This Package?
|
||||
|
||||
Consider that you have a **LONG** multibyte string and
|
||||
you want to do lots of following operations on it.
|
||||
|
||||
- Random reading/writing such as `$char = $str[5];` or `$str[5] = '許';`.
|
||||
- Replacement such as `str_replace($search, $replace, $str);`.
|
||||
- Insertion such as `substr_replace($insert, $str, $position, 0);`.
|
||||
- Get substring such as `substr($str, $start, $length);`.
|
||||
|
||||
Because strings in PHP are not UTF-8, to do operations above safely,
|
||||
you have to either use `mb_*()` functions or calculate the index by yourself.
|
||||
Using `mb_*()` functions frequently can be a performance loss because it has
|
||||
to re-decode the source string basing on the given encoding every time when you call it.
|
||||
The longer the string is, the severer the problem becomes.
|
||||
|
||||
Instead, this class internally stores the string in its UTF-32 form,
|
||||
which is fixed-width (1 char always occupies 4 bytes) so we are able to
|
||||
perform speedy random accesses. With the power of random access, we could
|
||||
use `str_*()` functions to do the job internally.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
composer require jfcherng/php-mb-string
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
See [tests/MbStringTest.php](https://github.com/jfcherng/php-mb-string/blob/master/tests/MbStringTest.php).
|
||||
|
||||
## Benchmark
|
||||
|
||||
See [benchmark/\_results.txt](https://github.com/jfcherng/php-mb-string/blob/master/benchmark/_results.txt).
|
||||
|
||||
## What Are You Doing With This Package?
|
||||
|
||||
I develop this for a PHP diff package, [jfcherng/php-diff](https://github.com/jfcherng/php-diff).
|
||||
Reference in New Issue
Block a user