Вопрос № 47084: Здравствуйте уважаемые эксперты. У меня простой вопрос:
Как в php реализовать автоматическое создание описания для статьи из ее содержания - никаких изворотов, просто первые скажем
250символов, просто как их отрезают от исходного текста? Использу...
Вопрос № 47.084
Здравствуйте уважаемые эксперты. У меня простой вопрос:
Как в php реализовать автоматическое создание описания для статьи из ее содержания - никаких изворотов, просто первые скажем
250символов, просто как их отрезают от исходного текста? Используется база данных mysql, может это можно сделать даже и на
начальной фазе чтения информации из базы данных? Заранее спасибо.
Отправлен: 22.06.2006, 19:01
Вопрос задал: Bolzamo (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Ерёмин Андрей
Здравствуйте, Bolzamo!
Получить первые n символов строки очень просто. Вот пример: $descr = substr($article,0,250)."...";
Подразумевается, что $article - сама статья, загруженная из базы.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Mamont
Здравствуйте, Bolzamo!
Вариант 1 (чуть проще 2):
<?
$article=... // статья, загруженная из базы.
$descr = substr($article,0,250); // вырезаем 250 символов начиная с 1 ( индекс 0 )
?>
Вариант 2 (быстрее):
<?
// при выборке сразу обрезаем (обычно вся статья сразу не нужна)
if (! $my_articles = mysql_query('SELECT id, LEFT(article, 250) as short_art FROM articles'))
// запрос содержит только выборку id и short_art - вычисляемое поле (на самом деле его нет в базе и старое не изменяется
- эт так, чтоб не переживали за базу ;) )
// если нужны другие - включаем
// не забываем указать LIMIT если статей много
{
die('mysql error:'.mysql_error());
}
while ($item=mysql_fetch_assoc($my_articles)){
// здесь пишем обработку каждой статьи
// $item['id'] - id статьи
// $item['short_art'] - наша брезанная статья
}
?>
--------- Иногда движение вперед-результат пинка под зад
Ответ отправил: Mamont (статус:
2-ой класс)
Ответ отправлен: 22.06.2006, 19:40 Оценка за ответ: 5 Комментарий
оценки: Отлично! Именно то что мне нужно! Огромное спасибо!
Отвечает: Cybernetic_Creature
Здравствуйте, Bolzamo!
function substr($str,$from [,$to])
http://php.net/manual/ru/function.substr.php
или же использовать встроенный в МуСКЛ substring
select substring(body,1,100) from news;
Ответ отправил: Cybernetic_Creature
(статус: Специалист)
Ответ отправлен: 23.06.2006, 09:12
Отвечает: PVS
Здравствуйте, Bolzamo!
Самый быстрый вариант - добавить еще одно поле в таблицу и сразу же при создании стать писать в него первые 250 символов
Ответ отправил: PVS (статус: 3-ий
класс)
Ответ отправлен: 23.06.2006, 09:30 Оценка за ответ: 3 Комментарий оценки: Спасибо
конечно но загромождать таблицу лишними данными меня не предьщает. Мне кже подсказали быстрый и удобный вариант