|
|
|
| Не могу понять как лучше сделать анонсы новостей в новостной ленте. Мне знакомы методы, которые используются в разных cms(заносят в базу 2 текста, обычно). Я смотрел скрипт новостной ленты на softtime, там текст просто обрезается после определенного количества символов. В принципе можно использовать оба способа. Но так как я изначально заносил в базу только полный текст новости, мне подходит 2-й способ. Так вот в чем вопрос: Можно ли сделать так, чтобы текст обрезался, но при этом не повреждались html теги(например <img>)? | |
|
|
|
|
|
|
|
для: ALEXIT
(01.08.2007 в 17:01)
| | Это геморой, у меня есть поле превью, это самое то и нечего не надо обрезать | |
|
|
|
|
|
|
|
для: himic
(01.08.2007 в 18:06)
| | Конечно можно. Смотрите рег.выражения | |
|
|
|
|
|
|
|
для: ALEXIT
(01.08.2007 в 17:01)
| | Из краткого текста просто вырезайте всего HTML-тэги. | |
|
|
|
|
|
|
|
для: cheops
(02.08.2007 в 09:35)
| | я у себя на сайте сделал так:
if (strlen ($text) > 200)
{
$text_razb = str_split ($text, 200);
list($text1) = ($text_razb);
$num = strrpos ($text1, " ");
$text_razb = str_split ($text, $num);
list($text) = ($text_razb);
}
|
текст обрезается до 200 символов, но не обрывается на любой букве, а только после того как закончится слово. | |
|
|
|
|
|
|
|
для: выдр
(02.08.2007 в 09:40)
| | ...но может разорвать тэг на две части : <img и src=...> | |
|
|
|
|
|
|
|
для: ALEXIT
(01.08.2007 в 17:01)
| | А показывать первые 200 символов либо до первого '<' - не покатит? | |
|
|
|
|
|
|
|
для: ALEXIT
(01.08.2007 в 17:01)
| |
<?php
// Функция обрезает строку до задной длины
function cut_str($str) {
$lenght = 100;
$str = strip_tags($str);
if (strlen($str) >= $lenght) {
$wrap = wordwrap($str, $lenght, "~");
$str_cut = substr($wrap, 0, strpos($wrap, "~"));
$str_cut .= ' ...';
return $str_cut;
} else {
$str_cut = $str . ' ...';
return $str_cut;
}
}
// Вызывать так
echo cut_str('тут ваш текст, который надо обрезать');
?>
|
| |
|
|
|
|
|
|
|
для: ALEXIT
(01.08.2007 в 17:01)
| | Если Вы хотите, чтобы если в нужное кол-во символов попал кусок тега он не повреждался, то нужно, во-первых, запросить еще нужное кол-во символов до символа ">".
Далее нужно провести поиск парных тегов в тексте. Если каких-то хватать не будет - добавить к концу получившегося куска. | |
|
|
|
|
|
|
|
для: Unkind
(02.08.2007 в 15:50)
| | Всем спасибо, буду пробовать и экспериментировать :) | |
|
|
|