Обрезает переменную до определенной длинны, по умолчанию - 80 символов. В качестве необязательного второго параметра, вы можете передать строку текста, которая будет отображатся в конце обрезанной переменной. Символы этой строки не включаются в общую длинну обрезаемой строки. По умолчанию, truncate попытается обрезать строку в промежутке между словами. Если вы хотите обрезать строку строго на указаной длинне, передайте в третий необязательный параметр значение true.
Позиция параметра | Тип | Обязателен | По умолчанию | Описание |
---|---|---|---|---|
1 | integer | Нет | 80 | Определяет максимальную длинну обрезаемой строки. |
2 | string | Нет | ... | Текстовая строка, которая заменяет обрезанный текст. Её длинна НЕ включена в максимальную длинну обрезаемой строки. |
3 | boolean | Нет | false | Определяет, обрезать ли строку в промежутке между словами (false) или строго на указаной длинне (true). |
4 | boolean | Нет | false | Определяет, нужно ли обрезать строку в конце (false) или в середине строки (true). Обратите внимание, что при включении этой опции, промежутки между словами игнорируются. |
Пример 5.20. truncate
<?php $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); ?>
Шаблон:
{$articleTitle} {$articleTitle|truncate} {$articleTitle|truncate:30} {$articleTitle|truncate:30:""} {$articleTitle|truncate:30:"---"} {$articleTitle|truncate:30:"":true} {$articleTitle|truncate:30:"...":true} {$articleTitle|truncate:30:'..':true:true}
Результат обработки:
Two Sisters Reunite after Eighteen Years at Checkout Counter. Two Sisters Reunite after Eighteen Years at Checkout Counter. Two Sisters Reunite after... Two Sisters Reunite after Two Sisters Reunite after--- Two Sisters Reunite after Eigh Two Sisters Reunite after E... Two Sisters Re..ckout Counter.