• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак Корректная обрезка короткой новости автоматически

Статус
В этой теме нельзя размещать новые ответы.

E-body

Мой дом здесь!
Регистрация
6 Сен 2007
Сообщения
992
Реакции
342
Требуется:
Обрезать (корректно по целому слову соблюдая указанного количества символов) длинный текст в shortstory и если текст был укорочен то указывать в конце линк на полную новость.

Решение:
Сначало добавим bb код short.show.php (данный код будет работать только в шаблоне shortstory.tpl)
PHP:
// если короткая короче 145 знаков то линк не выводит, а пусто ""
		if ( (strlen( $row['short_story'] ) < 145)) 
		$tpl->set_block( "'\\[fullz\\](.*?)\\[/fullz\\]'si", "" );
// но если она больше то выводим линк на полну через бб код [fullz]
                else {
	        $tpl->set( '[fullz]', "<span><a {$go_page}href=\"" . $full_link . "\"><span>" );
		$tpl->set( '[/fullz]', "</a></span>" );
		}
В shortstory.tpl добавить bb код [fullz]Далее...[/fullz].
Не стал трогать уже имещийся [full-link]
Стоит отметиь что это обрезка по словам, если у вас в начале текса присутствует оформление ббкодами то могут быть некорректности обрезки.
п.с. От версии и типа лицензии движка не зависит.

/showthread.php?t=154677 обрезает символы не соблюдая целостность слов.
 
  • Заблокирован
  • #2
удаляете все теги из новости, а потом режите ее как вам удобно...
 
[fullz] я так понимаю, нужно заменить на [full-story] ?
 
обрезка по словам:
PHP:
function max_word($text, $counttext = 50, $sep = ' ') {
	$words = split($sep, $text);
	if(count($words)>$counttext) $text = join($sep, array_slice($words, 0, $counttext));
	return $text;
}

вызывать так:
PHP:
$short = max_word(strip_tags($row['short_story']), 30);

ну а там куда надо и как надо уже подстраиваете.
 
а таким способом и все новости обрежуться, даже которые были уже на сайте?
 
а таким способом и все новости обрежуться, даже которые были уже на сайте?
Укоротит новости старые и добавлаемые. (не затрагивая то что есть в дб)
-
Можно обрезку текста применить в добавление новостей (для короткой новости), чтоб лишнего в дб не было.
 
а может кто подсказать? как сделать чтобы выводился только плеер видео! из новости...
новости выводятся тэгом {custom}
как сделать чтоб в {short-story} было только код плеера и все?
есть вот такой код
Код:
preg_replace( "#<!--dle_video_begin(.+?)<!--dle_video_end-->#is", "", $row['short_story'] );
вообщем вырезает из новости видео! как сделать чтобы вырезало все кроме видео :D
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху