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 » PHP » Регулярные выражения » не обрезать последнее слово

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

1. badimalex - 09 Июня, 2011 - 21:38:01 - перейти к сообщению
Доброго времени суток,
вытягиваю из базы последние заметки, вывожу в цикле последних 5 штук.
PHP:
скопировать код в буфер обмена
  1.  
  2.     $substr = substr($item_obj['text'],0,20);
  3.     echo "<hr>".$substr;
  4.  

как сделать чтобы он не обрезал целые слова на 20 символе, а оставлял слово, и резал после него?
2. SAD - 09 Июня, 2011 - 21:42:52 - перейти к сообщению
что то подобное было, поищите на форуме
3. badimalex - 09 Июня, 2011 - 21:57:41 - перейти к сообщению
чето ищу, не могу найти, по какому ключевому слову советуете искать?
4. Давит - 09 Июня, 2011 - 22:50:13 - перейти к сообщению
Можно сразу из базы вывести то что нужно.
пример нужно первые 5 символов вывести
PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT left(поля,5) AS new_rez  FROM ... ");
  2. $rez = mysql_fetch_array($query);
  3.  
  4.  
  5. echo " ".$rez['new_rez']." "; // вводится строка с длиной 5
5. OrmaJever - 09 Июня, 2011 - 23:05:17 - перейти к сообщению
Да была такая тема...
PHP:
скопировать код в буфер обмена
  1. $str = 'dsa dsa dsadsa ssasads sddffdfffgfd dsds';
  2. $count = 30; // количество символов
  3. $newStr = substr($str, 0, strrpos(substr($str, 0,30), ' ')).' ...';
  4. echo $newStr;
6. DeepVarvar - 09 Июня, 2011 - 23:43:32 - перейти к сообщению
С кириллицей некорректно. А если использовать серию mb_*** тогда некорректно для латиницы (могу привести пример). Лучше уж регуляркой с модификатором "u"...
7. EuGen - 10 Июня, 2011 - 09:19:06 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $string='тестовая string with русские sybmols';
  2. preg_match('/^(.*?)\s|^([^\s]*?)$/ui', $string, $rgMatches);
  3. var_dump($rgMatches);
8. artist_valentin - 22 Сентября, 2011 - 00:37:56 - перейти к сообщению
столкнулся с такой же задачей - вывода определенного количества символов из текста, но не разделяя слова - решение нашёл тут

 

Powered by ExBB FM 1.0 RC1