Как перевернуть строку? Было Привет - стало тевирП.
Стандартную функцию не предлагать - strrev() не работает с кодировкой utf-8.
Варианты которые сделал:
mb_substr(), формируем итоговую строку.preg_match_all() в массив, делаем array_reverse() и implode().Подскажите еще варианты алгоритмов/реализаций подобного преобразования.
function mb_strrev($text)
{
return join('', array_reverse(preg_split('//u', $text, -1, PREG_SPLIT_NO_EMPTY)));
}
echo mb_strrev('☆❤world');
Ну, и еще как вариант можно рассмотреть:
function mb_strrev($string)
{
$string = strrev(mb_convert_encoding($string, 'UTF-16BE', 'UTF-8'));
return mb_convert_encoding($string, 'UTF-8', 'UTF-16LE');
}
echo mb_strrev('☆❤world');
http://php.net/manual/ru/function.strrev.php#122953
function mb_strrev($str){
$r = '';
for ($i = mb_strlen($str); $i>=0; $i--) {
$r .= mb_substr($str, $i, 1);
}
return $r;
}
echo mb_strrev("☆❤world"); // echo "dlrow❤☆"
?>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости