Symfony2の使用中にtwigテンプレートエンジンを使用しています。テキストから空白を削除する方法を見つけようとしています。
例えば、 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 }
そして、あなたのものでそれを呼び出しますtwig template:
{{ "Test remove white space"|removeWhiteSpace }}
私にとっては、文字列に改行しない空白が含まれている場合、これは機能していませんでした:
stringWithNonBreakingWhitespace|replace({' ':''}
ブレーキなしの空白を置き換えるには、エスケープシーケンスを使用する必要があります。
stringWithNonBreakingWhitespace|replace({'\xc2\xa0':''}