|
|
|
|
|
для: 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 != "")
?>
|
| |
|
|
|
|
|
|
|
для: 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 ..............................................................
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(01.11.2008 в 20:57)
| | SUBSTRING() при выборке из базы | |
|
|
|
|
|
|
|
для: SDL
(03.11.2008 в 21:05)
| | А как сюдаеще приделать вывод в цикле с помощью - do wile
do
{
echo $str_short."....";
}
while ( );
|
Только не подумайте, что я типа "халявщик"..., просто элементарно неполучается... | |
|
|
|
|
|
|
|
для: Dinya_1
(02.11.2008 в 18:49)
| | кстати, если вопрос у тебя был, как вывести последние СЛОВА с сообщения, то можно сделать так: сначала инвертируй обрабатываемую строку, потом примени алгоритм (скрипт, который я написал), а потом инвертируй результат. думаю, должно получиться | |
|
|
|
|
|
|
|
для: Dinya_1
(03.11.2008 в 20:38)
| | хорошо. просто следи за тем, какие ошибки происходят.
если происходит фатальная ошибка, то дальше выполнение кода не идет. | |
|
|
|
|
|
|
|
для: SDL
(03.11.2008 в 01:29)
| | SDL - извени, просто у меня очень мало практики в этом деле... | |
|
|
|
|
|
|
|
для: Dinya_1
(02.11.2008 в 18:49)
| | последних 20 сообщений или последних 20 слов строки?
по вопросу с проблемным запросом лучше создай тему в форуме mysql. | |
|
|
|
|
|
|
|
для: 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."...";
?>
|
ТОЛЬКО ЧТО запустил - код рабочий. ошибка в запросе | |
|
|
|
|
|
|
|
для: Гость
(01.11.2008 в 21:51)
| | Хм, точно, не сообразил.. но выводить символы всё равно проще))) | |
|
|
|
|