Облачный сервис для Joomla сайтов
Навигация: Главная Форум

Добро пожаловать, Гость
Пожалуйста Вход или Регистрация.    Забыли пароль?

Вступительный текст материала
(1 чел.) (1) Гость
ВнизСтраница: 1
Сообщения темы: Вступительный текст материала
#10638
Вступительный текст материала 4 г. назад Репутация: 0
Как сделать чтобы вступительный текст материала был строго определенное количество знаков. Нужно чтобы система автоматически после определенного количества знаков разрывала страницу и появлялась кнопка "подробнее" для прочтения полного текста. Кто может что-то посоветовать?
sagara4
Постов: 1
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
#10639
Вступительный текст материала 4 г. назад Репутация: 26
это делается по средствам php. Такие фишки вставляют в модуля.

Лично я всегда пользуюсь easyblog и в нём по умолчанию обрезание параграфами словами или символами. Плюс от рокетов есть замечательный компонент sprocket для вывода материала с easy blog.




Обрезка текста средствами php

Обрезать текст можно по-разному. Самая простая функция-это substr.
Этой функции нужно передать 3 аргумента. Первый-сама строка,второй-с какого символа начать обрезать текст(нумерация начинается с нуля), и третий-сколько символов обрезать.
$a = 'English Message';
$b = substr($a, 0, 7);
echo $b;//Выведет 'English'
$c = substr($a,8,7);
echo $c;//Выведет 'Message'

С русским текстом такая функция не всегда прокатит, поэтому нужно использовать mb_substr. Работает она точно также.
$a = 'Сама строка,которую нужно обрезать.';
$b = mb_substr($a, 0, 4);
echo $b;//Выведет 'Сама'
$c = mb_substr($a, 5, 6);
echo $c;//Выведет 'строка'

Если мы хотим добавить многоточие в том случае, когда строка обрезана - то нужно сравнить длину строки с длинной обрезаемого текста.
$a = 'Сама строка,которую нужно обрезать.';
$lenght = 5;
$b = mb_substr($a, 0, $lenght);
if (mb_strlen($a) > $lenght) {
$b .= '...';
}
echo $b;

Где $lenght - длинна обрезаемого текста.
Или просто сравнить исходную строку и обрезанную. Но это частный случай.
$a = 'Сама строка,которую нужно обрезать.';
$b = mb_substr($a, 0, 10);
if ($a != $b) {
$b .= '...';
}
echo $b;

Чтобы обрезать по пробелу, то есть взять например 5 первых слов-то строку следует разделить по пробелам и взять первые 5 элементов.Вот так:
$str='Этот текст имеет большое количество
пробелов и состоит из нескольких слов';

//разбиваем на массив
$arr_str = explode(" ", $str);
//берем первые 6 элементов
$arr = array_slice($arr_str, 0, 6);
//превращаем в строку
$new_str = implode(" ", $arr);

// Если необходимо добавить многоточие
if (count($arr_str) > 6) {
$new_str .= '...';
}

echo $new_str;//Выведет 'Этот текст имеет большое количество пробелов и...'
Ну и чтоб просто добавить в конце любой строки многоточие-можно дописать точки так:
$str = 'My string';
$str .= '...';
echo $str;//Выведет 'My string...'
zloy_pozitiv
Постов: 359
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
webkudesnik.com Страна, город: Украина, Киев День рождения: 06/16
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
#10646
Вступительный текст материала 4 г. назад Репутация: 47
Отличный плагин который надо один раз настроить и забыть, www.masterswebsolutions.com/joomla-extensions/masters-auto-read-more
Nikolia
ой мл... как жить хорошо!!!
Модератор
Постов: 568
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
конечно есть Пол: Мужской есть Страна, город: Россия
Не поленись поставить плюсик за ответ!
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
ВверхСтраница: 1
Модераторы: Fidelity, Nikolia, cvetercom, Xemreht, mr.Hi-End
получить последние сообщения прямо на Ваш рабочий стол
Баннер
Pool Snooker Billiards Graphite Cue Stick firm Radicura Enterprises varied line up of International Brands in allied fields. Proprietor Amit Jain being an expert in branding activities actively solicits global partnerships to commit worldwide trade sport equipment goods distributor dealer supplier importer exporter trader consultant franchise shop E-Commerce Website Designing, Development, Hosting, SEO & Online/Offline Advertising ~ Goods Warehousing, Preparation, Logistics & Worldwide Customs Clearances ~ Joint Venture Liaisons for Real Estate, Finance, Insurance, Distribution & Manufacturing