Навигация: Главная Форум

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

Вступительный текст материала
(1 чел.) (1) Гость
ВнизСтраница: 1
Сообщения темы: Вступительный текст материала
#10638
Вступительный текст материала 6 г., 11 мес. назад Репутация: 0
Как сделать чтобы вступительный текст материала был строго определенное количество знаков. Нужно чтобы система автоматически после определенного количества знаков разрывала страницу и появлялась кнопка "подробнее" для прочтения полного текста. Кто может что-то посоветовать?
sagara4
Постов: 1
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
#10639
Вступительный текст материала 6 г., 11 мес. назад Репутация: 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
Постов: 358
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
webkudesnik.com Страна, город: Украина, Киев День рождения: 06/16
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
#10646
Вступительный текст материала 6 г., 11 мес. назад Репутация: 47
Отличный плагин который надо один раз настроить и забыть, www.masterswebsolutions.com/joomla-extensions/masters-auto-read-more
Nikolia
ой мл... как жить хорошо!!!
Модератор
Постов: 567
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. desert safari dubai has been visited by the visitors due to its deserted area. POKER369 Adalah Layanan Jasa Judi POKER Online Terpercaya Indonesia Dengan Promo Terbesar 2020. SPORTS369 Sebagai Agen Judi Slot Online Terbaik Dan Terpercaya, Jadi Member Sekarang Bonus 20% Deposit !
Pokerkuda.net adalah situs IDN Poker Online dengan pelanan customer support 24/7 setiap harinya serta nikmati pengalaman terbaik dalam bermain games idn poker sesunguhnya.