Smarty: извлечь первое слово переменной

Я использую умный шаблонизатор для реализации своих шаблонов для веб-сайта.

Мне нужно извлечь первое слово из переменной, например переменная "$ a" с содержимым "hello world foo ..." должна быть разделена на две переменные: "$ b" = "hello" и "$ c" с остальными (которые могут быть другого размера) " $ a ", значит," мир фу ... ".


person joe    schedule 25.04.2014    source источник


Ответы (1)


{assign 'tsplit' ' '|explode:'Hello world foo'}
{assign 'a' $tsplit|array_shift}
{assign 'b' $tsplit|array_shift}
{assign 'c' $tsplit|implode:' '}
{$a} - {$b} - {$c}

Это может дать неожиданный результат, если вы объединили такие слова, как hamster wheel или аналогичные

ИЗМЕНИТЬ

Я случайно неправильно прочитал вопрос. Вот приличное обновление

{assign 'a' 'Hello world foo'}
{assign 'tsplit' ' '|explode:$a}
{assign 'b' $tsplit|array_shift}
{assign 'c' $tsplit|implode:' '}
{$a} - {$b} - {$c}
person sofl    schedule 25.04.2014