3560f11935
By design, UTF-8 allows any byte-oriented substring searching algorithm, since the sequence of bytes for a character cannot occur anywhere else ([source](https://en.wikipedia.org/wiki/UTF-8#Advantages_3)). So `str_replace()` also works for UTF-8-encoded strings, assuming that the input strings are valid UTF-8 strings. The previous implementation of mbStrReplace() did nothing to detect invalid strings. Also, `str_replace()` does not support [Unicode equivalence](https://en.wikipedia.org/wiki/Unicode_equivalence), but nor do the other `mb_string` functions, and nor does `=SUBSTITUTE()` in Excel (tested on Excel for Mac version 15.19.1, Excel 2016 for Windows and LibreOffice 5.1). Closes #109
43 lines
630 B
PHP
43 lines
630 B
PHP
<?php
|
|
|
|
return [
|
|
[
|
|
'QWDFGYUIOP',
|
|
'QWERTYUIOP',
|
|
'ERT',
|
|
'DFG',
|
|
],
|
|
[
|
|
'Mxrk Bxker',
|
|
'Mark Baker',
|
|
'a',
|
|
'x',
|
|
],
|
|
[
|
|
'Mxrk Baker',
|
|
'Mark Baker',
|
|
'a',
|
|
'x',
|
|
1,
|
|
],
|
|
[
|
|
'Mark Baker',
|
|
'Mark Baker',
|
|
'x',
|
|
'a',
|
|
1,
|
|
],
|
|
'Unicode equivalence is not supported' => [
|
|
"\u{0061}\u{030A}",
|
|
"\u{0061}\u{030A}",
|
|
"\u{00E5}",
|
|
'x',
|
|
],
|
|
'Multibytes are supported' => [
|
|
'x',
|
|
"\u{00E5}",
|
|
"\u{00E5}",
|
|
'x',
|
|
],
|
|
];
|