Làm cách nào để hiển thị HTML trong Blade?
Khi bạn muốn hiển thị một nội dung html trong laravel blade theo cách thông thường bạn sẽ gõ mã html sau đó lưu nó vào một biến như hình bên dưới và bạn sẽ cố gắng hiển thị nó Show
Chúng ta sẽ xem xét hai cách khác nhau để hiển thị nội dung html
Một cách khác là sử dụng html_entity_decode như bên dưới
Blade là một công cụ tạo khuôn mẫu mạnh mẽ có trong Laravel, cho phép người dùng sử dụng mã PHP tiêu chuẩn trong chế độ xem của họ Các tệp chế độ xem phiến sử dụng phần mở rộng tệp điều kiện tiên quyếtMột ứng dụng Laravel đang hoạt động, nếu không, vui lòng tạo một ứng dụng laravel mới và chạy máy chủ Hiển thị HTML trong Laravel Blade ViewsBạn cần tạo tệp mẫu lưỡi cắt Mẫu phiến đang sử dụng cú pháp Laravel Blade tự động thoát các thẻ HTML nếu bạn hiển thị nội dung bằng dấu ngoặc kép ( Đây là một điều tốt, bởi vì nếu người dùng nhập HTML hợp lệ, Blade đảm bảo rằng điều này sẽ không được hiển thị dưới dạng HTML thực (hoặc JavaScript có hại hơn). Thay vào đó, nội dung được hiển thị dưới dạng văn bản thông thường, do đó ngăn chặn tập lệnh chéo trang Tuy nhiên, trong một số trường hợp nhất định, bạn muốn có thể kết xuất HTML bằng cách sử dụng phiến. Khi bạn biết bạn đang làm gì. Trong những trường hợp như vậy, chúng ta không nên sử dụng cú pháp dấu ngoặc kép, mà thay vào đó là Đôi khi, bạn có thể có một chuỗi các thẻ/thành phần HTML được trả về từ cơ sở dữ liệu hoặc nguồn của bên thứ 3 và bạn muốn kết xuất nó trong Laravel Blade. Nếu sử dụng dấu ngoặc nhọn "{{ $content }}" để xuất nó, nó sẽ được hiển thị dưới dạng chuỗi chứ không phải HTML. Hành vi này xảy ra vì Laravel theo mặc định thoát khỏi giá trị khi sử dụng cú pháp {{ $content }} Để hiển thị HTML thô, bạn sẽ phải giải phóng nó và để làm điều đó, bạn có thể sử dụng cú pháp sau {!! $renderHTMLContent !!} Theo mặc định, sử dụng cú pháp ở trên sẽ tự động bỏ qua bất kỳ giá trị nào bằng cách sử dụng hàm "htmlspecialchars" của PHP nhưng hãy đảm bảo xác thực dữ liệu nếu người dùng nhập vào. Đằng sau khung cảnh, mẫu đã biên dịch trông giống như bên dưới Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách chuyển phần tử HTML từ bộ điều khiển laravel sang chế độ xem. Ở phần cuối của hướng dẫn, bạn cũng sẽ học cách trả lại chế độ xem từ bộ điều khiển sang laravel blade Trước khi bạn thực hiện bất kỳ mã hóa nào, hãy đảm bảo rằng, bạn đang đặt tên cho các tệp xem của mình bằng. lưỡi. php và chúng được lưu trong thư mục resource/views 1. Sử dụng dấu ngoặc kép Nếu bộ điều khiển của bạn chuyển một biến chuỗi tới laravel blade,
và nếu bạn muốn hiển thị văn bản hoặc đoạn văn được truyền từ bộ điều khiển, bạn nên làm như thế này
Trong dấu ngoặc kép, bạn nên viết biến của mình được truyền từ bộ điều khiển sang lưỡi dao, và bạn đã sẵn sàng và bạn sẽ thấy
Đây là cách phổ biến nhất để laravel kết xuất html nếu bạn không có bất kỳ thẻ nào Để giải thích, câu trên giống với dòng bên dưới. PHP tự động đảo ngược từ {{$str}} thành ________số 8_______Đây e() là trình bao bọc tiện lợi cho hàm echo(). Nhưng nó đã không được dùng nữa trong Laravel. Xây dựng một ứng dụng di động hoàn chỉnh với Laravel Backend 2. Sử dụng dấu ngoặc đơn và dấu chấm than Giả sử, bạn có một biến $str trong bộ điều khiển với một số thẻ html như bên dưới và bạn muốn gửi tới blade bằng hàm compact() trong laravel.
Sau khi nhận được trên phiến, biến $str chứa thẻ HTML. Sau đó, bạn phải sử dụng một dấu ngoặc nhọn ở mỗi bên và hai dấu chấm than ở cả hai bên của biến và đây là cách phổ biến nhất khiến laravel không thoát HTML trong mẫu phiến
Và sau đó đầu ra của bạn sẽ như dưới đây. Hãy nhớ rằng bạn sử dụng dấu ngoặc đơn và hai dấu chấm than để hiển thị giá trị biến của mình
√Vì vậy, {{ }} dấu ngoặc nhọn in ra chuỗi nguyên trạng, nhưng {. . } sẽ hiển thị HTML từ một biến chuỗi. Và dấu chấm than kép của lưỡi laravel nên được sử dụng khi bạn có các thẻ HTML trong chuỗi của mình Cái trên thực sự hữu ích khi bạn muốn kết xuất HTML từ cơ sở dữ liệu để xem phiến 3. Sử dụng hàm html_entity_decode() Đây là hàm PHP cũ tốt của chúng tôi, giúp ích rất nhiều cho bạn. Hàm này loại bỏ các thực thể HTML khỏi một chuỗi, thực thể HTML là gì? . Xem đoạn mã dưới đây có chứa một vài thực thể HTML.
Trong hàm trên $str chứa các thực thể HTML và biến $str sau khi được chuyển qua hàm html_entity_decode() trong phiến,
nó tạo ra đầu ra như dưới đây
Vì vậy, lần tới nếu bạn có chuỗi chứa các thực thể HTML, chỉ cần sử dụng chức năng giải mã thực thể HTML này và vấn đề của bạn sẽ được giải quyết Bạn cũng có thể dùng {. html_entity_decode($str). } khi bạn muốn laravel render HTML từ cơ sở dữ liệu Bạn sử dụng html_entity_decode trong laravel nếu √Bạn muốn kết xuất HTML từ cơ sở dữ liệu √Nếu chuỗi của bạn có thực thể HTML 4. Sử dụng mở PHP truyền thống Bạn có thể kết xuất HTML trong lưỡi bằng cách sử dụng thẻ mở và đóng PHP truyền thống. Bạn có thể viết ________số 8_______Trong lưỡi kiếm của bạn. Biến $string đến từ bộ điều khiển của bạn. Nhưng nó không được khuyến khích để làm như thế này. Điều này giống như mã spaghetti hơn, nơi bạn đặt PHP và HTML cùng nhau. 5. Sử dụng chỉ thị Laravel PHP Laravel nổi tiếng với cú pháp PHP rõ ràng và dễ đọc. Nếu phương pháp được đề cập trong phần 4, giống như mã spaghetti dành cho bạn, thì hãy thử phương pháp bên dưới 1Đó là một trong những cách viết PHP yêu thích của tôi trong Laravel blade Những điều cần nhớ về laravel blade escape html √Nếu bạn muốn hiển thị một chuỗi và nó không chứa bất kỳ ký tự đặc biệt hoặc thẻ html nào, hãy sử dụng {{$str}} √Nếu chuỗi biến của bạn bao gồm các thẻ html nhưng không chứa bất kỳ thực thể html nào thì chỉ cần sử dụng {. $str. } cho HTML không thoát. Bởi vì {{$string}} thoát khỏi các thẻ HTML có nghĩa là {{$start}} sẽ thoát khỏi html √Nếu biến của bạn chứa cả thẻ html và thực thể html thì hãy sử dụng {. html_entity_decode($str). } √Nếu bạn kết xuất bất kỳ chuỗi nào đến từ cơ sở dữ liệu Laravel trả lại HTML từ bộ điều khiển Nói chung, chúng tôi không trả lại toàn bộ chế độ xem từ bộ điều khiển laravel. Ngay cả khi bạn muốn làm điều đó, bạn có thể. Hãy xem cách trả về toàn bộ chuỗi tài liệu HTML từ bộ điều khiển Làm cách nào để hiển thị nội dung HTML trong Laravel blade?√Vì vậy, {{ }} dấu ngoặc nhọn in chuỗi nguyên trạng, nhưng {. . } sẽ hiển thị HTML từ một biến chuỗi . Và dấu chấm than kép của lưỡi laravel nên được sử dụng khi bạn có các thẻ HTML trong chuỗi của mình. Cái trên thực sự hữu ích khi bạn muốn kết xuất HTML từ cơ sở dữ liệu để xem phiến.
Làm cách nào để in các thẻ HTML trong Laravel blade?Theo mặc định, bạn sẽ sử dụng cú pháp sau {{ $some_variable }} để lặp lại nội dung của một biến cụ thể trong Blade. Theo mặc định, {{ }} thoát khỏi các thẻ HTML. Trong trường hợp đầu tiên, bạn có thể thấy cách các phần tử HTML được thoát và trong trường hợp thứ hai, chúng tôi sử dụng {. . } chúng tôi đã nhận được các thẻ HTML thực tế.
Làm cách nào để sử dụng HTML trong Laravel?Tạo một ứng dụng Laravel. trang web tĩnh mới của laravel Tạo một thư mục trang trong thư mục tài nguyên Tạo tệp HTML trong thư mục trang mới tạo. Bạn có thể lấy tệp HTML có nội dung của nó bằng tệp_get_contents() sẵn có của PHP. . Nội dung HTML này cũng có thể được chuyển vào dưới dạng một biến cho một chế độ xem khác Làm cách nào để thêm thẻ HTML vào bộ điều khiển Laravel?Tạo bộ điều khiển bằng cách chạy lệnh này "php artisan make. bộ điều khiển HtmlController". . không gian tên Ứng dụng\Http\Bộ điều khiển; sử dụng Chiếu sáng\Http\Yêu cầu; sử dụng Ứng dụng\Mô hình\Sinh viên; lớp HtmlController mở rộng Bộ điều khiển{ chỉ số chức năng công cộng () { $name = "Anmol Sharma"; $html = " Hello, I am ".$ name." |