PhpSpreadsheet/tests/data/Calculation/TextData/SUBSTITUTE.php
Christian Schmidt 3560f11935
Replace mbStrReplace() with str_replace()
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
2017-03-06 11:33:06 +09:00

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',
],
];