fork download
  1. <?php
  2. $text = "Принадлежность того или иного символа к буквенным определяется с учетом текущей локали.";
  3.  
  4. function tooLong($string)
  5. {
  6. $text_array = preg_split("/[\s,.?!]+/", $string, 0, PREG_SPLIT_NO_EMPTY);
  7. print_r($text_array);
  8. foreach ($text_array as $k => &$str)
  9. {
  10. $length = mb_strlen($str, 'UTF-8');
  11. if ($length > 10)
  12. {
  13.  
  14. $length -= 2;
  15. $firstLetter = mb_substr($str, 0, 1);
  16. $lastLetter = mb_substr($str, -1);
  17. $str = $firstLetter.$length.$lastLetter;
  18. }
  19. }
  20. $words = '';
  21. foreach ($text_array as $key => $value)
  22. {
  23. $words.=$value." ";
  24. }
  25. return $words;
  26. }
  27. print_r(tooLong($text));
  28.  
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Принадлежность
    [1] => того
    [2] => или
    [3] => иного
    [4] => символа
    [5] => к
    [6] => буквенным
    [7] => определяется
    [8] => с
    [9] => учетом
    [10] => текущей
    [11] => локали
)
П12ь того или иного символа к буквенным о10я с учетом текущей локали