truncate_utf8

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

includes/unicode.inc, строка 210

Версии
5 – 6
truncate_utf8($string, $len, $wordsafe = FALSE, $dots = FALSE)

Безопасно обрезает кодированную в UTF-8 строку до указанного количества байт.

Если верхняя граница находится внутри последовательности символов UTF-8, она проходит строку в обратном направлении, пока не встретит начала последовательности байт.

Эту функцию следует использовать всегда, когда вы хотите обрезать строку до неизвестной длины. С другой стороны, если вы уверенный, что вы разделяете строку на границе символа (например после использования функции strpos() или схожих с ней), вы можете спокойно использовать вместо неё функцию substr().

Параметры

$string Усекаемая строка.

$len Верхний предел длины возвращаемой строки.

$wordsafe Указывает, обрезать ли строку по последнему пробелу до указанной верхней границы. По умолчанию FALSE.

Возвращаемое значение

Усеченная строка.

▾ 11 функции вызывают truncate_utf8()

aggregator_parse_feed in modules/aggregator/aggregator.module
comment_admin_overview in modules/comment/comment.module
Конструктор формы; генерирует форму с кратким содержанием комментариев для администратора.
mime_header_encode in includes/unicode.inc
Encodes MIME/HTTP header values that contain non-ASCII, UTF-8 encoded characters.
node_teaser in modules/node/node.module
Чтобы автоматически создать teaser для ноды body.
search_excerpt in modules/search/search.module
Возвращает отрывки из части текста, с выделением найденных ключевых слов. Используется для форматирования результатов поиска.
watchdog_overview in modules/watchdog/watchdog.module
Menu callback; displays a listing of log messages.
watchdog_top in modules/watchdog/watchdog.module
Menu callback; generic function to display a page of the most frequent watchdog events of a specified type.
_comment_form_submit in modules/comment/comment.module
_locale_string_seek in includes/locale.inc
Perform a string search and display results in a table
_search_index_truncate in modules/search/search.module
Helper function for array_walk in search_index_split.
_statistics_link in modules/statistics/statistics.module
It is possible to adjust the width of columns generated by the statistics module.

Код

<?php
function truncate_utf8($string, $len, $wordsafe = FALSE, $dots = FALSE) {
  $slen = strlen($string);
  if ($slen <= $len) {
    return $string;
  }
  if ($wordsafe) {
    $end = $len;
    while (($string[--$len] != ' ') && ($len > 0)) {};
    if ($len == 0) {
      $len = $end;
    }
  }
  if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0)) {
    return substr($string, 0, $len) . ($dots ? ' ...' : '');
  }
  while (--$len >= 0 && ord($string[$len]) >= 0x80 && ord($string[$len]) < 0xC0) {};
  return substr($string, 0, $len) . ($dots ? ' ...' : '');
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему