Câu trả lời của Sawny là câu trả lời tuyệt vời thực sự thúc đẩy sức mạnh của cú pháp Blade tốt, ngoại trừ tôi sẽ tiến thêm một bước nữa. Bạn có thể sử dụng Blade::extend
để tạo riêng Blade @
shortcodes của bạn vì vậy tôi sử dụng như sau:
Blade::extend(function($value, $compiler)
{
$pattern = $compiler->createMatcher('nlbr');
return preg_replace($pattern, '$1<?php echo nl2br(e($2)); ?>', $value);
});
Bây giờ trong mẫu Blade của bạn tất cả phải làm là một cái gì đó như thế này:
<div>@nlbr($sometext)</div>
EDIT: tôi người nhận ra rằng điều này có thể rất tự hỏi, "Tôi đặt hàm Blade::extend
ở đâu?"
Thành thật mà nói, nó có thể đi vào rất nhiều nơi (và nó phụ thuộc vào nếu bạn đang sử dụng Laravel 4 hoặc 5 là cách tiếp cận 'tốt nhất').
Một nơi đơn giản để đặt nó nằm trong các tệp routes.php
hoặc global.php
vì chúng sẽ nhận được ít công sức nhất. Tuy nhiên, đây không phải là tệp tốt nhất để đưa chúng vào và bạn nên học cách tạo ra các Nhà cung cấp Laravel.
tôi đã phải sử dụng nó như này {!! nl2br (e ($ message)) !!} –