Заменить текст
Если надо заменить слово, используется функция str_replace().
$from = 'Russia';
$to = 'Россия';
str_replace($from, $to, 'Перевод: Russia'); // Перевод: Россия
Также можно реализовать в виде массива:
$tranlates = [
'Russia' => 'Россия',
'Moscow' => 'Москва',
'Saint Petersburg' => 'Санкт-Петербург'
];
str_replace(array_keys($tranlates), array_values($tranlates), 'Перевод: Russia'); // Перевод: Россия
При этом проверяется каждый элемент массива, т.е. когда функция видит и заменяет слово «Russia», она всё равно дальше проверяет следующие элементы массива.
$tranlates = [
'Russia and Moscow' => 'Россия and Moscow',
'Moscow' => 'Москва',
'Saint Petersburg' => 'Санкт-Петербург'
];
str_replace(array_keys($tranlates), array_values($tranlates), 'Перевод: Russia and Moscow'); // Перевод: Россия and Москва
На примере выше видно, что идёт замена на слово «Россия and Moscow», но в итоге выводится «Россия and Москва», т.к. в одном из следующих элементов как раз идёт замена «Moscow» на «Москва».
Если нужно, чтобы строго выводилось то, что указано в значении (на примере выше ожидается вывод «Россия and Moscow»), то для этого можно использовать функцию strtr().
$tranlates = [
'Russia and Moscow' => 'Россия and Moscow',
'Moscow' => 'Москва',
'Saint Petersburg' => 'Санкт-Петербург'
];
strtr('Перевод: Russia and Moscow', $tranlates); // Перевод: Россия and Moscow
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
