Sự khác biệt giữa wp_strip_all_tags và wp_filter_nohtml_kses là gì?


7

Lấy từ các bài viết được tham khảo dưới đây:

wp_strip_all_tags()

"Tách đúng tất cả các thẻ HTML bao gồm tập lệnh và kiểu."

wp_filter_nohtml_kses()

"Tách tất cả các HTML trong nội dung."

Tham chiếu:

Các chức năng này xuất hiện để phục vụ cùng một mục đích chính xác. Họ khác nhau như thế nào?

Câu trả lời:


11

Hàm wp_strip_all_tags () sẽ xóa tất cả HTML, bao gồm nội dung của các thẻ script và kiểu.

Hàm str_tags () của PHP phần lớn làm điều tương tự, ngoại trừ việc nó sẽ không loại bỏ nội dung của các thẻ script và kiểu. Hàm wp_strip_all_tags () của WP sử dụng hàm này sau khi loại bỏ các tập lệnh và kiểu thủ công.

Hàm wp_filter_nohtml_kses () sử dụng các nút để xóa tất cả HTML. Sự khác biệt chính là công cụ được sử dụng để phân tích cú pháp HTML. Strip_tags () của PHP không xử lý đặc biệt tốt với HTML bị hỏng hoặc cố ý làm sai, bởi vì nó không thực hiện bất kỳ xác nhận HTML nào. Công cụ kodes cố gắng xử lý HTML không đúng định dạng theo cách tốt hơn, nhưng nó cũng không phải là trình phân tích cú pháp HTML hoàn chỉnh. Nó cũng chậm hơn nhiều.

Hàm wp_strip_all_tags () thường được ưa thích hơn. Nó đủ tốt cho phần lớn các trường hợp. Phiên bản kíp hầu hết được bao gồm để hoàn thiện, nhưng có thể hữu ích nếu bạn đang xử lý HTML được tạo hình đặc biệt xấu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.