Вход • Регистрация

Помогите обрезать строку

  • 18 августа 2017 г. , редакция: 18 августа 2017 г.
  • Всем привет.Надо обрезать ФИО до 20 символов по целым словам

    Код
    //обрезаем ФИО до 20 символов по целым словам
    $result["fio"] = "Иванов Иван Иванович";
    $limit = 21;
    $result["fio"] = substr($result["fio"], 0, strripos(substr($result["fio"],0,$limit),' '));
    echo $result["fio"];

    На выходе "Иванов"

    А если текст на латинице, то все работает как надо.

    Подскажите пожалуйста, где я что упустил. Спасибо.
    • 18 августа 2017 г. , редакция: 18 августа 2017 г.
    • используйте встроенную функцию

      Код
      echo $this->diafan->short_text($result["fio"], 20);


      https://www.diafan.ru/dokument/full-manual/developers/api/core/
      • 18 августа 2017 г. , редакция: 18 августа 2017 г.
      • это пробовал, но по ходу $result["fio"] какая-то особенная... так вообще ничего не режет...
        может как-то предварительно преобразовывать надо...?
        • 19 августа 2017 г.
        • Надо сперва теги span убрать, которые появляются при авторизации админом

          Сттелефона не удобно, в общем вот типа того

          $fio = strip_tag($result...);
          • 19 августа 2017 г. , редакция: 19 августа 2017 г.
          • А потом уже обрезать, может поможет
    • 18 августа 2017 г.
    • На самом деле фишка в том что латиница записана в формате 1 байт = 1 символ, а все остальные алфавиты имеющиеся в кодировке UTF скользуют 2 или 4 байта на символ. Поэтому и разница.
      если хотите использовать substr, то нужно использовать его аналог для мульти байттовых кодировок mb_substr()

Новости

  • Сегодня, 09:05
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.