2011-02-09 35 views
32

Tôi muốn làm một str_replace đơn giản trong mẫu cành cây của tôi. Tôi mới đến cành và có lẽ tôi cần phải thêm bộ lọc mới hoặc sth như thế hoặc sử dụng hiện có. Tôi có thể làm cái này như thế nào? Tôi có thể tìm danh sách các bộ lọc có sẵn ở đâu?str_replace trong Twig

+0

Chính xác những gì bạn muốn làm gì? Có một số bộ lọc và một số thoát HTML được tích hợp sẵn trong cành cây: http://www.twig-project.org/doc/templates.html – CamelBlues

Trả lời

33

Để thay thế một chuỗi được lưu trữ trong các biến cành lá:

{% 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

Cảm ơn bạn! Dấu ngoặc quanh 'replace_value_var' bị thiếu trong tài liệu. –

+1

Làm cách nào để xóa không gian trống? – Guru

+1

Hoạt động như một sự quyến rũ. Chúc mừng! rep ++; – cwiggo

23

Sử dụng này để thay thế | với - và thay thế , rộng .:

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

Ví dụ nhập 31|60, xuất hiện dưới dạng 31-60.

+4

Cảm ơn, điều này không rõ ràng trong tài liệu hiện tại – Prinsig

+2

@Prinsig thực sự. Từ tài liệu tôi nghĩ bạn chỉ có thể thay thế trình giữ chỗ. – ohvitorino

5

Ngoài ra, đây có thể hữu ích cho việc loại bỏ (8 utf-) chars ngôn ngữ ...

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

Làm thế nào về: 'iconv (" UTF-8 "," ISO-8859-1 // TRANSLIT ", $ text)'? – umpirsky

+2

@umpirsky Hmmm, tôi nghĩ rằng mã cho cành đi một cái gì đó như thế này {{dữ liệu | convert_encoding ('UTF-8', 'iso mà bạn muốn')}}, nhưng tôi không chắc chắn 100% –

+1

Có, của tôi là PHP. :) – umpirsky