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
Форумы портала PHP.SU :: Версия для печати :: Функция вывода определенного кол-ва символов
Форумы портала PHP.SU » » Вопросы новичков » Функция вывода определенного кол-ва символов

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

1. android - 09 Октября, 2011 - 21:40:51 - перейти к сообщению
Привет, нужна функция допустим есть текст:

Цитата:
$text = 'Вы можете прикрепить файл к сообщению.';


и текст меняется, нужно выводить указанное кол-во символов допустим:


Цитата:
Вы можете прикрепить файл
2. myocean - 09 Октября, 2011 - 21:44:02 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function text_fix($text, $kolvo_simvolov) {
  2. return substr($text, 0, $kolvo_simvolov);
  3. }
  4.  
  5.  
  6. print text_fix('Вы можете прикрепить файл к сообщению.',25);
3. android - 10 Октября, 2011 - 19:32:23 - перейти к сообщению
не то... текст серавно разный по длинне получается...
вот что получилось

Англия - Конфе
Англия - Лига 1
Аргентина - Пр
Бразилия - Бра
Евро 2012 - Квал
4. DeepVarvar - 10 Октября, 2011 - 20:42:46 - перейти к сообщению
overflow: hidden;
5. android - 10 Октября, 2011 - 22:13:29 - перейти к сообщению
DeepVarvar уважаемый головай думайте что пишете это php а не css
6. DeepVarvar - 10 Октября, 2011 - 22:23:20 - перейти к сообщению
android опишите задачу нормально - будет вам пхп. Вам же не по символам резать надо а по словам ровно. Не так ли?
7. myocean - 11 Октября, 2011 - 16:10:25 - перейти к сообщению
Ага, указанная функция как раз выдала тест в 16 символом (учитывая пробелы)... А как нужно, без учета пробелов, или с округлением до целого слова?

Кстати, текст у вас смотрится разным из за использования шрифта с разной длинной символов...
8. DeepVarvar - 11 Октября, 2011 - 16:18:27 - перейти к сообщению
типа....
PHP:
скопировать код в буфер обмена
  1. $limit = 6; // шесть слов
  2. $s = preg_split("%\s+%",$s,$limit+1);
  3. if (count($s) > 1) {
  4.   unset($s[$limit]);
  5.   $s = implode(" ",$s);
  6.   }
  7. else $s = $s[0];
9. android - 11 Октября, 2011 - 17:01:38 - перейти к сообщению
боже не слов....

нужно сделать со:

фывфвфв выфвыфодло
фывф ллд жжлджлжлджлж
фывфвфы
ьчясясячячсячс
зшзшйузцшзйцшзйшз
----------------------------
В:
---------------------------
фывфвфв выфв
фывф ллд жжл
фывфвфы
ьчясясячячсяч
зшзшйузцшзйц
10. myocean - 11 Октября, 2011 - 17:05:52 - перейти к сообщению
А чем вас не устраивает приведенная выше функция?
11. Мелкий - 11 Октября, 2011 - 17:06:51 - перейти к сообщению
android, дык а чем вас не устраивает вариант, полученный ранее: http://forum.php.su/topic.php?fo...64343#1318264343
12. White - 11 Октября, 2011 - 17:09:42 - перейти к сообщению
подозреваю, что из-за использования ее с UTF-8. в таком случае substr надо просто поменять на mb_substr (при наличии mbstring).
но автору стоило бы понятнее объясняться
13. android - 12 Октября, 2011 - 21:32:22 - перейти к сообщению
в том что то что предложил DeepVarvar обрезает с конца указанное кол-во символов. А нужно указать максимальное кол-во для всех слов. Ниндзя
14. DeepVarvar - 12 Октября, 2011 - 21:51:40 - перейти к сообщению
android пишет:
то что предложил DeepVarvar обрезает с конца указанное кол-во символов
слов
(Добавление)
и возвращает первые слова, а не последние

 

Powered by ExBB FM 1.0 RC1