fork(2) download
  1. <?php
  2.  
  3. function mb_strrev($str){
  4. $str = $str[0];
  5. $isUpper = preg_match('~^\p{Lu}~u', $str);
  6. $r = '';
  7. for ($i = mb_strlen($str); $i>=0; $i--) {
  8. $r .= mb_substr($str, $i, 1);
  9. }
  10. return $isUpper ? mb_convert_case($r, MB_CASE_TITLE_SIMPLE ) : $r;
  11. }
  12.  
  13. $text = 'Привет! Давно не виделись.';
  14. $reversed = preg_replace_callback('~[А-Яа-яЁё]+~u', 'mb_strrev', $text);
  15. echo $reversed;
  16.  
Success #stdin #stdout 0.02s 24808KB
stdin
Standard input is empty
stdout
Тевирп! Онвад ен ьсиледив.