2015-02-17 27 views
20

Vì vậy, tôi muốn giữ các dấu ngắt dòng từ cơ sở dữ liệu trong khi sử dụng Công cụ tạo mẫu lưỡi. Tôi đã đưa ra ý tưởng sử dụngLàm thế nào để sử dụng nl2br() trong Laravel 5 Blade

{!! nl2br(e($task->text)) !!} 

Nó hoạt động. Nhưng nó trông giống như một giải pháp không cần thiết phức tạp. Có cách nào tốt hơn?

Trả lời

20

Bạn có thể xác định "định dạng tiếng vọng" của riêng mình sẽ được sử dụng với các thẻ nội dung thông thường{{ ... }}. Định dạng mặc định được e(%s) (sprintf được sử dụng để áp dụng định dạng)

Để thay đổi điều đó định dạng cuộc gọi setEchoFormat() bên trong một nhà cung cấp dịch vụ:

public function boot(){ 
    \Blade::setEchoFormat('nl2br(e(%s))'); 
} 

Bây giờ bạn chỉ có thể sử dụng các thẻ vang thông thường:

{{ $task->text }} 

Đối với tiếng vang bạn không muốn áp dụng nl2br(), hãy sử dụng dấu ngoặc ba {{{ ... }}}


Để chuyển đổi chức năng của dấu ngoặc (triple và kép) xung quanh, làm điều này:

\Blade::setContentTags('{{{', '}}}'); 
\Blade::setEscapedContentTags('{{', '}}'); 
+0

Awesome! Có cách nào để trao đổi không? Chỉ sử dụng dấu ngoặc ba cho nl2br? – jascha

+0

Chắc chắn. Xem câu trả lời đã chỉnh sửa. – lukasgeiter

+0

Bạn thật tuyệt vời. Cảm ơn rất nhiều. – jascha

Các vấn đề liên quan