Я использую движок шаблонов twig при использовании symfony2. Я пытаюсь найти способ удалить пробелы из текста.
Например, I play
Iplay
.
Я пробовал:
Я использую движок шаблонов twig при использовании symfony2. Я пытаюсь найти способ удалить пробелы из текста.
Например, I play
Iplay
.
Я пробовал:
Сначала давайте посмотрим, что вы пытались и почему это не сработало:
Вам нужно использовать следующее:
{{ 'Some Text With Spaces'|replace({' ': ''}) }}
Это выведет:
SomeTextWithSpaces
Более подробно в документации.
Попробуй это:
{{ "I plays"|replace({' ':''}) }}
Вы также можете создать свой собственный фильтр для этого.
Пример :
class MyExtensions extends \Twig_Extension
{
public function getFilters()
{
return array(
new \Twig_SimpleFilter('removeWhiteSpace', array($this, 'removeWhiteSpace'), array('is_safe' => array('html'))),
);
}
public function removeWhiteSpace($string)
{
return preg_replace('/\s+/', '', $string);
}
}
Объявите его как услугу:
myextensions.twig_extension:
class: YourProject\YourBundle\Twig\MyExtensions
public: false
tags:
- { name: twig.extension }
И назовите это в своем шаблоне ветки:
{{ "Test remove white space"|removeWhiteSpace }}
Для меня это не работает, когда строка содержит неразрывные пробелы:
stringWithNonBreakingWhitespace|replace({' ':''}
Чтобы заменить не тормозящий пробел, вы должны использовать escape-последовательность:
stringWithNonBreakingWhitespace|replace({'\xc2\xa0':''}