Làm cách nào để thoát khỏi thực thể HTML trong PHP?
"Thực thể HTML" là một biểu diễn văn bản của một ký tự mà theo cách khác sẽ được hiểu là mã HTML Show
Ví dụ: các ký tự 8 và 9 được sử dụng để xác định thẻ HTML. 0. Biểu diễn thực thể HTML cho 8 và 9 là 2 và 3. Các thực thể HTML này có thể được sử dụng một cách an toàn trong tài liệu HTML và các trình duyệt sẽ không diễn giải chúng dưới dạng mã HTML, mà là văn bản theo nghĩa đen ở dạng ban đầu của chúng — 4 sẽ không được trình duyệt diễn giải dưới dạng mã HTML, nhưng được sử dụng để hiển thị 0 dưới dạng chữ PHP có các chức năng tích hợp để chuyển đổi các ký tự HTML nhất định thành các thực thể HTML
Trước PHP 8. 1, hành vi mặc định của các hàm 6 và 8 là chuyển đổi các ký tự 5, 8, 9 và 8 thành các thực thể HTML tương ứng của chúng, nhưng nó không chuyển đổi các dấu nháy đơn ( 9) thành các thực thể HTML. Hơn nữa, nó trả về một chuỗi rỗng nếu có một ký tự không hợp lệ trong văn bản đã choTừ PHP8. 1 trở lên, các tham số mặc định của các chức năng này được thay đổi, do đó, nó cũng chuyển đổi các ký tự trích dẫn đơn. Ngược lại với hành vi trả về một chuỗi trống cho một chuỗi chứa ký tự không hợp lệ trước đây, hành vi mặc định của các hàm này trong PHP 8. 1 trở lên là thay thế các ký tự không hợp lệ bằng ký tự 50 (U+FFFD)
Về cơ bản, điều này có nghĩa là chữ ký của các hàm được đề cập ở trên đã thay đổi trong PHP 8. 1
- htmlspecialchars_decode($string, ENT_COMPAT);
+ htmlspecialchars_decode($string, ENT_QUOTES | ENT_SUBSTITUTE); |