Kết xuất html Laravel

Tham gia bản tin của tôi

Trong hướng dẫn này, bạn sẽ học cách hiển thị HTML trong Blade với Laravel 8. Tôi giả sử, bạn có kiến ​​thức cơ bản về PHP và laravel. Chúng tôi sẽ tạo một mẫu lưỡi dao mẫu và hiển thị HTML

Công cụ mẫu Blade là gì

Các mẫu Blade có thể được sử dụng cho giao diện người dùng của bạn bằng cách sử dụng Laravel, một khung công tác PHP tuyệt vờ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 .blade.php và được lưu trữ trong thư mục resources/views

điều kiện tiên quyết

Mộ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 Views

Bạn cần tạo tệp mẫu lưỡi cắt hello.blade.php trong thư mục resources/views

Mẫu phiến đang sử dụng cú pháp {{}} để truy cập một biến được xác định trong phương thức của bộ điều khiển

Đô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

Laravel Blade tự động thoát các thẻ HTML nếu bạn kết xuất nội dung bằng dấu ngoặc kép ({{ .. }}). Blade sử dụng hàm PHP gốc htmlspecialchars() để làm như vậy

Đâ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à {!! .. !!}

Blade là một công cụ tạo khuôn mẫu rất mạnh được cung cấp cùng với Laravel, không hạn chế người dùng sử dụng mã PHP đơn giản trong chế độ xem của họ

Các tệp xem dạng phiến sử dụng. lưỡi. php và thường được lưu trữ trong thư mục tài nguyên/lượt xem

Trong hướng dẫn này, bạn sẽ học cách hiển thị HTML trong Blade với Laravel 8

điều kiện tiên quyết

Nếu bạn chưa cài đặt và chạy ứng dụng Laravel, tôi khuyên bạn nên sử dụng DigitialOcean Ubuntu Droplet. Bạn có thể sử dụng mã liên kết của tôi để nhận khoản tín dụng DigitalOcean trị giá 100 đô la miễn phí để khởi động máy chủ của riêng bạn

Nếu bạn chưa có, bạn có thể làm theo các bước từ hướng dẫn này về cách thực hiện điều đó

  • Cách cài đặt Laravel trên DigitalOcean với 1 cú nhấp chuột

Hoặc bạn có thể sử dụng tập lệnh tuyệt vời này để thực hiện cài đặt

  • larabuồm

Hiển thị HTML trong Laravel Blade Views

Trước tiên, bạn cần đảm bảo rằng tệp của mình sử dụng phần mở rộng tệp .blade.php và nằm trong thư mục resources/views. Nó sẽ trông giống như thế này

Kết xuất html Laravel

🤩 Nhà tài trợ tuyệt vời của chúng tôi 👇

Xem trang web

DigitalOcean cung cấp giải pháp lưu trữ đám mây đơn giản và đáng tin cậy cho phép các nhà phát triển nhanh chóng thiết lập và chạy trang web hoặc ứng dụng của họ

Xem trang web

Bảng công việc chính thức của Laravel. Tìm các nhà phát triển Laravel giỏi nhất và tài năng nhất bằng cách đăng công việc của bạn trên bảng việc làm chính thức của Laravel

Xem trang web

Tìm hiểu cách viết mã chuỗi khối của riêng bạn và tạo tiền điện tử của riêng bạn với nền tảng đào tạo trực tuyến thú vị và tương tác CoinCap. Tìm hiểu thêm về chương trình tài trợ DevDojo và xem biểu trưng của bạn tại đây để đưa thương hiệu của bạn đến với hàng nghìn nhà phát triển.

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

Vì vậy, giả sử rằng bạn có một bài đăng trên blog với bộ sưu tập $post có một số thành phần HTML trong thuộc tính body, nếu bạn sử dụng như sau

<div>{{ $post->body }}</div>

Tất cả các thẻ HTML sẽ không được hiển thị dưới dạng HTML mà là văn bản thuần túy

Kết xuất html Laravel

Nếu bạn không muốn các thẻ HTML của mình bị thoát thì bạn nên sử dụng {!! !!} như thế này

<div>{!! $post->body !!}</div>

đầu ra

Kết xuất html Laravel

Nếu bạn in ra cả hai và kiểm tra nguồn trang, bạn sẽ thấy đầu ra sau

Kết xuất html Laravel

&lt;h1&gt;Hello DevDojo&lt;/h1&gt;
<h1>Hello DevDojo</h1>

Trong trường hợp đầu tiên, bạn có thể thấy các phần tử HTML đã được thoát như thế nào và trong trường hợp thứ hai khi chúng tôi sử dụng {!! !!}, chúng tôi đã nhận được các thẻ HTML thực tế

Sẽ an toàn hơn khi sử dụng {{ }} vì nó sẽ loại bỏ bất kỳ thẻ không mong muốn nào, nhưng vẫn có những lúc bạn có thể cần sử dụng {!! !!}

Làm cách nào để hiển thị tệp HTML trong Laravel?

Cách chuyển đổi mẫu HTML sang dự án Laravel trong 5 bước đơn giản .
Sao chép tất cả. html vào Thư mục dự án Laravel của bạn > Tài nguyên > Chế độ xem
Đổi tên tất cả. tập tin html để. lưỡi. php
Sao chép tất cả thư mục CSS, JS, Hình ảnh và phông chữ vào Thư mục chung
Liên kết tất cả CSS, JS, Hình ảnh bằng cách sử dụng {{ nội dung('/') }}.
Tạo tuyến đường trong Tuyến đường > web

Làm cách nào để hiển thị HTML trong 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."

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

{{ }} trong Laravel là gì?

từ tài liệu. https. // ấu trùng. com/docs/5. 1/lưỡi dao. Theo mặc định, các câu lệnh Blade {{ }} được tự động gửi qua hàm htmlentities của PHP để ngăn chặn các cuộc tấn công XSS . Nếu bạn không muốn dữ liệu của mình bị thoát, bạn có thể sử dụng cú pháp sau. Xin chào, {. tên $. }.