Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод нескольки слов из текста...

Сообщения:  [1-10]   [11-17] 

 
 автор: SDL   (06.12.2008 в 03:14)   письмо автору
 
   для: Dinya_1   (27.11.2008 в 19:41)
 

так надо сделать (я код проверил, работает):


<?php 
// строка, полученная из базы данных 
$result ""
for (
$i 1$i <= 10$i++) 
$result $result.$i."eshkin kot "

// запускаем strtok()  
$word strtok($result," ");  

// количество слов (здесь слово - это разделенная пробелом совокупность символов)  
$count 5;  
// максимальное количество символов  
$max_symbols 60;  

do
{
// здесь храним укороченную строку  
$str_short "";  

// запускаем поиск 
for ($i 1$i <= $count$i++)  
{  
  
// если количество символов не превышет допустимого максимума, то добавляем  
  //   новое слово. если же превышает, то выходим из цикла  
  
if (strlen($str_short.$word." ") <= $max_symbols$str_short $str_short.$word." ";  
  else break;  
  
// запускаем strtok() только с одним параметром, иначе ф-ия будет находить  
  //   одну и ту же часть строки  
  
$word strtok(" ");  
}  

echo 
$str_short."...<br>";
}
while (
$word != "")
?>

  Ответить  
 
 автор: xx77   (29.11.2008 в 15:20)   письмо автору
 
   для: mihdan   (29.11.2008 в 14:33)
 

можно и по пробел отрезать, посложнее только запрос получится

<?

$zapros 
'SELECT x_tab.id,
    INSERT( x_tab.mesg, (155 +  LOCATE(\' \', x_tab.mesg, 155)), -1,
       CONCAT(\'<a href="?x='
x_tab.id, \'"> ... Дальше</a>\'))
 FROM x_tab ..............................................................

  Ответить  
 
 автор: mihdan   (29.11.2008 в 14:33)   письмо автору
 
   для: Dinya_1   (01.11.2008 в 20:57)
 

SUBSTRING() при выборке из базы

  Ответить  
 
 автор: Dinya_1   (27.11.2008 в 19:41)   письмо автору
 
   для: SDL   (03.11.2008 в 21:05)
 

А как сюдаеще приделать вывод в цикле с помощью - do wile


do
{
echo $str_short."...."; 
}
while (    );



Только не подумайте, что я типа "халявщик"..., просто элементарно неполучается...

  Ответить  
 
 автор: SDL   (03.11.2008 в 21:08)   письмо автору
 
   для: Dinya_1   (02.11.2008 в 18:49)
 

кстати, если вопрос у тебя был, как вывести последние СЛОВА с сообщения, то можно сделать так: сначала инвертируй обрабатываемую строку, потом примени алгоритм (скрипт, который я написал), а потом инвертируй результат. думаю, должно получиться

  Ответить  
 
 автор: SDL   (03.11.2008 в 21:05)   письмо автору
 
   для: Dinya_1   (03.11.2008 в 20:38)
 

хорошо. просто следи за тем, какие ошибки происходят.
если происходит фатальная ошибка, то дальше выполнение кода не идет.

  Ответить  
 
 автор: Dinya_1   (03.11.2008 в 20:38)   письмо автору
 
   для: SDL   (03.11.2008 в 01:29)
 

SDL - извени, просто у меня очень мало практики в этом деле...

  Ответить  
 
 автор: SDL   (03.11.2008 в 02:04)   письмо автору
 
   для: Dinya_1   (02.11.2008 в 18:49)
 

последних 20 сообщений или последних 20 слов строки?

по вопросу с проблемным запросом лучше создай тему в форуме mysql.

  Ответить  
 
 автор: SDL   (03.11.2008 в 01:29)   письмо автору
 
   для: Dinya_1   (02.11.2008 в 19:13)
 

ну блин! так сделай запрос правильным, я написал, так для эстетики стериотипный запрос. какая у тебя таблица и поля - тебе же лучше знать.

а вот остальной код - рабочий. сам проверял.


<?php
// строка, полученная из базы данных
$result "";
for (
$i 1$i <= 100$i++)
$result $result."eshkin kot ";

// запускаем strtok() 
$word strtok($result," "); 

// количество слов (здесь слово - это разделенная пробелом совокупность символов) 
$count 5
// максимальное количество символов 
$max_symbols 60

// здесь храним укороченную строку 
$str_short ""

// запускаем поиск
for ($i 1$i <= $count$i++) 

  
// если количество символов не превышет допустимого максимума, то добавляем 
  //   новое слово. если же превышает, то выходим из цикла 
  
if (strlen($str_short.$word." ") <= $max_symbols$str_short $str_short.$word." "
  else break; 
  
// запускаем strtok() только с одним параметром, иначе ф-ия будет находить 
  //   одну и ту же часть строки 
  
$word strtok(" "); 


echo 
$str_short."...";
?>


ТОЛЬКО ЧТО запустил - код рабочий. ошибка в запросе

  Ответить  
 
 автор: lorenberg   (02.11.2008 в 19:56)   письмо автору
 
   для: Гость   (01.11.2008 в 21:51)
 

Хм, точно, не сообразил.. но выводить символы всё равно проще)))

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования