Регистрация
Вход через соцсети
Восстановление пароля

Обрезание текста в шаблоне действий.

Новый топик
10.10.2008, 11:26
Ответить | Цитировать
Гость
Гость

Здравствуйте!
Подскажите как можно использовать данную функцию в шаблоне (Объект в списке) для поля в шаблоне $f_Msg
//Фуннкция делает обрезание строки.
//Оставляет $length любых "word/словарных" символов
function my_substr($str,$length=350){
if(strlen($str)>$length){
$str = substr($str,0,$length);
$str = substr($str,0,strrpos($str," "));
$str .= "...";
}
return $str;
}
Спасибо.
10.10.2008, 14:16
Ответить | Цитировать
VlastV
qb.digital

Зарегистрирован:
2005-11-02
Сообщений: 202

Определить данную функцию в /netcat/modules/default/function.inc.php

А с списке объектов использовать " . my_substr($f_Field) . "

Разработка сайтов на CMS NetCat. Портфолио http://vlastv.ru/ E-mail: me [at] vlastv [dot] ru ; ICQ: 66117050
10.10.2008, 22:57
Ответить | Цитировать
ktotoff
АльтерЛан

Зарегистрирован:
2006-12-19
Сообщений: 330

Или так, в самом шаблоне:
Код:
";
$text = strip_tags($f_TextField);
$text = substr(htmlspecialchars(trim($text)), 0, 200);
$text = substr($text, 0, strrpos(text, " "));
$result .= "


Но лучше, конечно, как выше написано. Притом, функцию можно оптимизировать, сделать её более универсальной, например:
".my_substr($f_fieldName, $outputLength)."


...жизнь прекрасна, когда правильно подобраны антидепрессанты...
22.10.2008, 17:00
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Очень часто встает задачка обрезания текста по первым N словам. В данном случае текст лучше обрезать mysql функцией SUBSTRING_INDEX. Например:
Код:

select SUBSTRING_INDEX(Field1,' ',10) from MessageXX

выдаст первые 10 слов из значения поля Field1. И никаких доп. функций создавать не надо.

Temet nosce...
198 196 2008-10-22 17:00:23 7555
Описание проекта