Поскольку str_replace
является бинарно-безопасным, а UTF-8 является биективным кодированием, вы можете использовать str_replace
, даже если строка поиска или замена содержит многобайтовые символы, если все три параметры кодируются как UTF-8.
Вот почему нет функции mb_str_replace
.
Если ваша кодировка не является биективной - то есть существует несколько представлений одной и той же строки, например <
в UTF-7, которая может быть выражена как '+ADw-'
и '<'
, вы должны преобразовать все строки в используйте ту же (биективную) кодировку, примените str_replace
, а затем преобразуйте строки в целевую кодировку.