Skip to main content Link Search Menu Expand Document (external link)

[TWIG] Bài 2: Thẻ filter - và các bộ lọc trong Twig

filter là một thẻ TWIG dùng để định nghĩa các bộ lọc áp dụng lên một đoạn ký tự. Ví dụ:

TWIG
{% filter upper %}
Đoạn văn bản này sẽ được in hoa
{% endfilter %}

Kết quả: ĐOẠN VĂN BẢN NÀY SẼ ĐƯỢC IN HOA
Trong ví dụ trên: filter và endfilter là một cặp thẻ đóng - mở và upper là bộ lọc áp dụng lên đoạn văn bản để in hoa toàn bộ các chữ cái trong đoạn đó.

Chúng ta cũng có thể áp dụng nhiều bộ lọc lên cùng một đoạn văn bản bằng cách thêm ký tự | giữa các bộ lọc:
TWIG
{% filter upper|escape %}
<b>Ví dụ</b>
{% endfilter %}

Kết quả hiển thị trên trang web: <B>VÍ DỤ</B>. Nhưng thực chất mã nguồn trả về là: &lt;B&gt;VÍ DỤ&lt;/B&gt;
Đó là do sự kết hợp của 2 bộ lọc upper và escape.

Một số bộ lọc khác
- abs: tính giá trị tuyệt đối (dành cho chữ số)
- capitalize: viết hoa chữ đầu câu
- convert_encoding(A,B): chuyển mã ký tự từ bộ mã A sang B (ví dụ: UTF-8 sang iso-2022-jp)
- date: thời gian
- default: đặt giá trị mặc định
- escape: giải mã ký tự (gồm các kiểu mã hóa HTML,JS,..)
- first: phần tử đầu tiên của chuỗi hoặc mảng
- join: gộp mảng thành chuỗi
- last: phần tử cuối của chuỗi hoặc mảng
- length: độ dài chuỗi hoặc mảng
- lower: ngược với upper, chuyển ký tự in hoa thành ký tự thường
- merge: gộp 2 mảng mới nhau
- nl2br: ngắt dòng trong chuỗi khi gặp ký tự \\\\n
- raw: bộ lọc này sẽ chuỗi không bị escape
- replace(A,B): thay thế đoạn A bằng đoạn B
- slice(a,b): cắt chuỗi theo vị trí ký tự đầu của đoạn cần cắt a và chiều dài b
- split: tách chuỗi thành mảng
- striptags: loại bỏ các thẻ đánh dấu (html,xml,...) khỏi chuỗi
- url_encode: mã hóa theo kiểu URL

Cách áp dụng bộ lọc cho một biến có sẵn:
TWIG
{% set var = 'Sắc Màu' %}
{{ var|upper }}


Chú thích:
- Chuỗi là một đoạn ký tự: ví dụ: "Sắc Màu" là một chuỗi
- Mảng hiểu đơn giản là một tập hợp các giá trị được gán vào một biến và phân biệt với nhau bằng số thứ tự của giá trị trong mảng.

Nguồn: MrKen - Phonho.net

Chia sẻ



QRcode
QRcode