2016-07-27 30 views

cevap

26

İlk önce denedin görelim ve bu yüzden degildim Çalışmıyor:

  • boşluksuz: "boşluk arasındaki HTML etiketlerini düz metin yılında HTML etiketleri veya boşluk içinde değil boşlukları silebilirsiniz boşluksuz etiketi kullanın" çünkü çalışmıyor spaceless documentation bakın.
  • Trim: "Döşeme filtre bir dizenin ve ucunu başlayan gelen boşlukları (veya diğer karakterleri) şeritler" çünkü çalışmıyor trim documentation bakın.

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

    çıktısı verir: documentation yılında

    SomeTextWithSpaces 
    

    Daha fazla detay kullanmak için gerekenler

şudur.

+0

benim için. Ben {{'benim string' | replace ('', '')}} 'yi deniyordum ve işe yaramayacaktı. Değiştirmeyi, dize ile bir şeyden başka bir şeye değiştirirsem çalışırdı. Garip. –

3

bu deneyin: yapmak

{{ "I plays"|replace({' ':''}) }} 
+0

bir hata göstermiyor, ancak çalışmıyor:/ – KubiRoazhon

+1

@KubiRoazhon: Boş alanların% 100 emin misiniz? – briosheje

+0

Değiştirme yöntemi işlevi biraz farklıdır, bkz. [Here] (http://twig.sensiolabs.org/doc/filters/replace.html). – KubiRoazhon

2

Ayrıca kendi filtre oluşturabilirsiniz o

Örnek:

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); 
    } 
} 

hizmet olarak bildirin:

myextensions.twig_extension: 
     class: YourProject\YourBundle\Twig\MyExtensions 
     public: false 
     tags: 
      - { name: twig.extension } 

Ve seninki dal şablonda diyoruz:

{{ "Test remove white space"|removeWhiteSpace }}