2011-02-09 5 views
32

私の小枝テンプレートで単純なstr_replaceを実行したいと思います。私は小枝には新しく、おそらく私は新しいフィルタやsthを追加するか、既存のものを使用する必要があります。これどうやってするの?利用可能なフィルタのリストはどこにありますか?twrのstr_replace

+0

(UTF-8)を退治するために有用であるだろうか?いくつかのHTMLフィルタといくつかのHTMLエスケープがすでにあります:http://www.twig-project.org/doc/templates.html – CamelBlues

答えて

30

置き換えフィルタは小枝変数に格納されている文字列を置換するにdocumentation

33

を参照してくださいあり:

{% set twig_content_variable= 'Testing to replace content'%} 
{% set replace_value_var= 'Testing' %} 
{% set replace_with_value_var = 'Testing complete' %} 

{{ twig_content_variable|replace({ (replace_value_var): replace_with_value_var }) }} 
+7

ありがとう! 'replace_value_var'のまわりのかっこは、ドキュメントにはありません。 –

+1

空き領域を削除するには? – Guru

+1

魅力的な作品です。乾杯! rep ++; – cwiggo

23

-|を交換し、,.を置き換えるために、これを使用します。

{{age|replace({'|': "-", "," : "."})}} 

例入力31|60,はとして出力されます。

+4

ありがとう、これは現在のドキュメント – Prinsig

+2

@Prinsig確かに分かりません。ドキュメントから、プレースホルダだけを置き換えることができると思っていました。 – ohvitorino

5

また、これは正確にあなたがしたいんどのような言語の文字...

{{some_string|replace({'ć':'c','č':'c','š':'s','ž':'z','đ':'d','Ć':'C','Č':'C','Š':'S','Ž':'Z','Đ':'D'})}} 
+3

「iconv( "UTF-8"、 "ISO-8859-1 // TRANSLIT"、$ text) 'についてはどうですか? – umpirsky

+2

@umpirskyこんにちは、小枝のコードは、このようなものになると思います。 {{data | convert_encoding( 'UTF-8'、 'isoあなたが欲しい')}}、しかし100%確実ではない –

+1

はい、私PHPだった。 :) – umpirsky