2016-04-14 15 views
-1

Вот моя строка разделённых запятыми (,) $myStr = "One, Two,Three, Four , Five ,Six "SMARTY: удалить пробел в начале или конце строки в шаблоне Smarty?

Я могу успешно взорвать его {assign var="options" value=","|explode:$myStr}

Но я также хотел бы удалить пробелы в начале или в конце каждой строки из при выводе его. Другими словами: Я ищу функцию SMARTY, эквивалентную функции встроенного в PHP функции trim($mystr). Фрагмент PHP удаляет начальные и конечные белые пробелы, если он присутствует, в противном случае возвращает фактическую строку.

{section name=myname loop=$options} 
    {$options[myname]} 
{/section} 

Код выше будет выход:

One 
Two 
Three 
[whitespace]Four[whitespace] 
[whitespace]Five[whitespace] 
Six[whitespace] 

Как обрезать пробельные?

+2

использование обивка ($ varName). – RJParikh

+2

Дубликат, пожалуйста, проверьте: http://stackoverflow.com/questions/1279774/to-strip-whitespaces-inside-a-variable-in-php – RJParikh

+0

Нет. Не дублируется. Оба - разные вопросы. Моя забота заключается в том, чтобы удалить белые пробелы только на ** start ** и ** end **. Вопрос, о котором вы говорили, касается удаления всех пробелов из строки. –

ответ

4

Существует в Smarty {strip}{/strip}. Пробелы будут удалены между тегами.

{$var|substr:0:-1} удалит последний символ в вашем случае пробел. {$var|substr:1} удалит первый символ из строки.

всех PHP-функций могут быть использованы в качестве модификаторов неявно (более ниже) и модификаторы могут быть объединены

от docs{$var|trim} в Smarty равно trim($var) В РНР.

Существует другой способ. Используя {php}{/php} теги в smarty, чтобы использовать функцию php, встроенную функцию trim(), но это не имеет для меня никакого смысла. Почему бы вам даже захотеть вернуть smarty-переменную в php, если она была включена php? Бред какой то.

+0

Благодарим вас за ответ. Но он удалит все пробелы в строке. Я хочу удалить whitespaces onloy с обоих концов строки. –

+0

проверить отредактированный ответ –

+0

Еще раз спасибо, но он удалит первый и последний символы из строки, если белые пробелы не будут представлены на концах. Я ищу php quilent trim ($ mystr).PHP trim удалит пустые и конечные пробелы, если он присутствует, в противном случае возвращает фактическую строку. –

0

Если пробел является просто пробелом, как в символах пробела, вы можете использовать функцию trim() (Docs), чтобы раздеть его. Заменить $options[myname] на trim($options[myname]).

Если это строка "[пробел]", вы можете использовать preg_replace() (Docs), как: preg_replace("/[whitespace]/","",$options[myname])

+0

Я знаю в php, чтобы сделать это. Но мой вопрос о SMARTY. –

Смежные вопросы