Перейти к содержимому


Фотография
- - - - -

Ограничить количество символов в тизере


Лучший Ответ SmetDenis , 01 February 2015 - 07:18

И чтобы не мучиться в Joomla есть специальный класс

$desc_new = JString::substr($desc, 0, 15);
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 andreinstruktor

andreinstruktor

Отправлено 30 January 2015 - 20:06

Здравствуйте!

Нашел только, как обрезать по кол-ву слов  в шаблоне Teaser 

 

echo $this->app->jbstring->cutByWords($this->renderPosition('<ИМЯ_ПОЗИЦИИ>'), 250);
 

http://forum.jbzoo.c...lov/#entry40083

 

 

Только на выходе получаем, если тизер выводить по 2 и более колонкам - обрезается не везде ровно и выглядит не очень.

А если на другом языке, то обрезает меньше других.

 

Подскажите, пожалуйста, как обрезать по количеству символов, а еще лучше до пробела, чтобы слово не обрывалось?


  • 0

#2 Sliapy

Sliapy

Отправлено 30 January 2015 - 20:08

По символам можно обрезать так

 

<?php 
$desc = JString::trim(strip_tags($this->renderPosition('*название позиции с текстом*')));
$desc_new = substr($desc, 0, 15);
echo $desc_new.'...';
?>

Сообщение отредактировал Sliapy: 30 January 2015 - 20:29

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 andreinstruktor

andreinstruktor

Отправлено 30 January 2015 - 20:20

Благодарю.

Только сразу где обрывается слово появляется знак вопросика.

А если написано допустим на англ. языке, то обрезается гораздо позже - символов примерно в 2 раза больше.


  • 0

#4 Sliapy

Sliapy

Отправлено 30 January 2015 - 20:34

Чтобы не было вопросы выводите так

<?php 
$desc = JString::trim(strip_tags($this->renderPosition('*название позиции с текстом*')));
$desc_new = mb_substr($desc, 0, 15);
echo $desc_new.'...';
?>

А если написано допустим на англ. языке, то обрезается гораздо позже - символов примерно в 2 раза больше.

Не примерно, а ровно в 2 :)

 

1 символ кириллицы - 2 бита, 1 символ латиницы - 1 бит.


  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 SmetDenis

SmetDenis

Отправлено 01 February 2015 - 07:18   Лучший Ответ

И чтобы не мучиться в Joomla есть специальный класс
$desc_new = JString::substr($desc, 0, 15);

  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!