Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод целых слов после обработки функцией mb_substr

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Выводим функцией mb_substr допустим 100 символов в блок, как сделать чтобы слова не резались
yuriy188
Отправлено: 29 Июня, 2015 - 10:17:49
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




Есть скрипт который выводит в форму краткое описание каждой темы в количестве 100 символов
Пример:

mb_internal_encoding('UTF-8');
if (strlen($text) > 100) { $text = mb_substr($text, 0, 100); $text = $text.'...'; }

<div class="ch1">'.$text.'</div>

После вывода текста последнее слово режется некрасиво ( про ... ), подскажите пожалуйста как выводить только целые слова среди 100 символов

(Отредактировано автором: 29 Июня, 2015 - 11:23:15)

 
 Top
andrewkard
Отправлено: 29 Июня, 2015 - 17:52:37
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




strrpos — Возвращает позицию последнего вхождения подстроки в строке
После обрезки на 100 символов, ищете последний пробел и обрезаете по нему.
 
 Top
yuriy188
Отправлено: 29 Июня, 2015 - 20:10:15
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




andrewkard пишет:
strrpos — Возвращает позицию последнего вхождения подстроки в строке
После обрезки на 100 символов, ищете последний пробел и обрезаете по нему.


Почитал описание strrpos, не пойму как это сделать((
 
 Top
andrewkard
Отправлено: 29 Июня, 2015 - 21:10:07
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $str='Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0';
  3.  
  4. $str_100=substr($str,0,100);//Эта функция может возвращать как логическое значение F
  5.  
  6. $pos=strrpos($str_100,' ');
  7.  
  8. $str_result=substr($str,0,$pos);
  9.  
  10. echo $str_result;//Эта функция может возвращать как логическое значение
  11.  


Обратите внимание, если подстрока не найдена, возвращает FALSE, т.е. нужно сделать проверку, иначе если пробела нет, будет ошибка.
 
 Top
yuriy188
Отправлено: 03 Июля, 2015 - 12:35:21
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




andrewkard пишет:
Вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $str='Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0';
  3.  
  4. $str_100=substr($str,0,100);//Эта функция может возвращать как логическое значение F
  5.  
  6. $pos=strrpos($str_100,' ');
  7.  
  8. $str_result=substr($str,0,$pos);
  9.  
  10. echo $str_result;//Эта функция может возвращать как логическое значение
  11.  


Обратите внимание, если подстрока не найдена, возвращает FALSE, т.е. нужно сделать проверку, иначе если пробела нет, будет ошибка.


спасибо все работает только что то из 100 символов выводит по последнему пробелу 50-60, пришлось задавать большую строку
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB