web-dev-qa-db-ja.com

小枝のテキストの空白を削除する方法は?

Symfony2の使用中にtwigテンプレートエンジンを使用しています。テキストから空白を削除する方法を見つけようとしています。

例えば、 I playIplayになります。

私はもう試した:

21
KubiRoazhon

まず、何を試したか、なぜそれが機能しなかったのかを見てみましょう。

  • スペースレス:「スペースレスタグを使用して空白betweenHTMLタグを削除し、内部の空白HTMLタグまたはプレーンテキスト内の空白 " spaceless documentation を参照してください。
  • トリム:「beginningおよびend文字列の " trim documentation を参照してください。

使用する必要があるものは次のとおりです。

{{ 'Some Text With Spaces'|replace({' ': ''}) }}

これは出力します:

SomeTextWithSpaces

ドキュメント の詳細。

42
dlondero

これを試して:

{{ "I plays"|replace({' ':''}) }}
3
Jayesh Chitroda

独自のフィルターを作成してそれを行うこともできます

例:

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 }}
3
DOZ

私にとっては、文字列に改行しない空白が含まれている場合、これは機能していませんでした:

stringWithNonBreakingWhitespace|replace({' ':''}

ブレーキなしの空白を置き換えるには、エスケープシーケンスを使用する必要があります。

stringWithNonBreakingWhitespace|replace({'\xc2\xa0':''}
1
jbator