Chapter 5. Модификаторы переменных

Table of Contents

capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap

Модификаторы переменных могут быть прмменены к переменным, пользовательским функциям или строкам. Для их применения надо после модифицируемого значения указать символ | (вертикальная черта) и название модификатора. Так же модификаторы могут принимать параметры, которые влияют на их поведение. Эти параметры следуют за названием модификатора и разделяются : (двоеточием). Кроме того, все функции PHP могут быть использованы в качестве модификаторов (об этом дальше) и модификаторы можно комбинировать.

Example 5.1. Примеры модификаторов


{* применение модификатора к переменной *}
{$title|upper}

{* модификатор с параметрами *}
{$title|truncate:40:'...'}

{* применение модификатора к аргументу функции *}
{html_table loop=$myvar|upper}

{* с параметрами *}
{html_table loop=$myvar|truncate:40:'...'}

{* применение модификатора к строке *}
{'foobar'|upper}

{* использование date_format для форматирования текущей даты *}
{$smarty.now|date_format:"%Y/%m/%d"}

{* применение модификатора к функции *}
{mailto|upper address='smarty@example.com'}

{* использование функции PHP str_repeat *}
{'='|str_repeat:80}

{* функция PHP count *}
{$myArray|@count}

{* функция PHP shuffle, применяемая к IP адресу сервера *}
{$smarty.server.SERVER_ADDR|shuffle}

(* это приведет в верхний регистр букв и обрежет пробелы у всех элементов массива *}
<select name="name_id">
    {html_options output=$myArray|upper|truncate:20}
</select>

  

См. также register_modifier(), Комбинирование модификаторов и Плагины - расширение функциональности Smarty.

capitalize

Преобразовывает первые буквы каждого в переменной слова в заглавные.

Позиция параметра Тип Обязателен По умолчанию Описание
1 boolean Нет false Этот параметр определяет, распространяется ли действие модификатора на слова с цифрами

Example 5.2. capitalize


<?php

$smarty->assign('articleTitle', 'next x-men film, x3, delayed.');

?>

   

Шаблон:


{$articleTitle}
{$articleTitle|capitalize}
{$articleTitle|capitalize:true}

   

Результат обработки:


next x-men film, x3, delayed.
Next X-Men Film, x3, Delayed.
Next X-Men Film, X3, Delayed.

   

См. также lower и upper