как разделить символ в шаблоне Twig?
У меня есть проблема, когда я хочу использовать функцию split в Twig, у меня есть такие слова MaletDoctor, я хочу разделить это слово с помощью t ascii,
Я ищу в поисковой системе, и я получаю обсуждение проблемы разделения веток в этом url я прочитал это, и я думаю, что проблема исправлена, но когда я ищу в документации веб-сайта ветки, я не могу найти функцию фильтра по split Вы можете прочитать это.
И когда я пытаюсь использовать этот код
{{ var | split('t') })
Возвращение is The filter "split" does not exist
Есть ли у вас какие-либо идеи или предложения по решению этой проблемы ?
Спасибо за ваш ответ...:)
Примечание:
я использую fuelphp framework & twig template
3 ответов:
Просто для полноты картины:
PR, упомянутый F21, теперь объединен (с 19.10.2012), а twig поддерживает split: http://twig.sensiolabs.org/doc/filters/split.html{{ "one,two,three"|split(',') }} {# returns ['one', 'two', 'three'] #}
Функция разделения еще не существует в Мастере веточек. Запрос pull, на который вы ссылаетесь, все еще
openи не был объединен в репозиторий Twig.Однако вы можете просто реализовать фильтр разделения в своем собственном расширении. Затем, как только Twig имеет этот фильтр в своих основных расширениях, просто удалите созданное расширение.
Создать свой собственный фильтр в своем собственном расширении легко: http://twig.sensiolabs.org/doc/advanced.html#filters
Добавьте эту функцию для настройки пользовательского фильтра в twig на платформе fuelphp в этот файл
fuel/packages/parser/classes/twig/fuel/extension.php/** * Returns a list of filters to add to the existing list. * * @return array An array of filters */ public function getFilters() { //custom by viyancs adding splite function because not found in twig documentation return array( 'explode' => new Twig_Filter_Function('Class::explode_custom', array('pre_escape' => 'html', 'is_safe' => array('html'))), ); }И объявить
explode_customфункцию в другом классе в этом случае вы можете использовать тот же класс или другой его depend./* * adding custom function for split character * used for fuel/app/classes/twig/fuel/extension.php * @params * $string : this is twig variable or value example {{ test }} * $split : this is split character example {{ test\tdata | split('\t') }} \t is split character * @return * array of explode * */ public function explode_custom($string,$split) { $data = explode($split, $string); return $data; }И за использование этого
{% set varStack = "stack[tab]overflow" | explode('\t') %} {% for value in varStack %} <li>{{ value }}</li> {% endfor %}Результат
stack overflow
Comments