Hướng dẫn how will you check an html is valid or not and code it also? - Làm thế nào bạn sẽ kiểm tra một html là hợp lệ hay không và mã nó cũng?

Không có giải pháp nào được trình bày cho đến nay là làm tốt công việc trả lời câu hỏi ban đầu, đặc biệt là khi nói đến

Tôi không muốn xác nhận thất bại vì một cái gì đó không phải là tiêu chuẩn 100% [nhưng dù sao cũng sẽ hoạt động].

TLDR >> Kiểm tra jsfiddle

Vì vậy, tôi đã sử dụng đầu vào của các câu trả lời và nhận xét về chủ đề này và tạo ra một phương thức làm như sau:

  • Kiểm tra thẻ chuỗi HTML bằng thẻ nếu hợp lệ
  • Trys để hiển thị chuỗi HTML
  • so sánh về mặt lý thuyết để được tạo số thẻ
  • Nếu đã được kiểm tra 'nghiêm ngặt',
    và bình thường thuộc tính trống ="" không bị bỏ qua
  • So sánh RenderHTML được hiển thị với chuỗi HTML đã cho [trong khi bỏ qua khoảng trắng và trích dẫn]

Trả lại

  • Đúng nếu kết xuất HTML giống như chuỗi HTML đã cho
  • sai nếu một trong các kiểm tra không thành công
  • Chuỗi HTML được chuẩn hóa nếu HTML được kết xuất có vẻ hợp lệ nhưng không bằng chuỗi HTML đã cho

Phương tiện được chuẩn hóa, khi kết xuất, trình duyệt bỏ qua hoặc sửa chữa đôi khi các phần cụ thể của đầu vào [như thêm các thẻ đóng thiếu cho

và chuyển đổi các phần khác [như trích dẫn đơn thành hoặc mã hóa amperstands]. "Bình thường hóa" cho phép gắn cờ nội dung cho người dùng vì "điều này sẽ không được hiển thị như bạn có thể mong đợi".

Hầu hết các lần chuẩn hóa đều mang lại một phiên bản chỉ thay đổi một chút của chuỗi HTML gốc - Tuy nhiên, đôi khi kết quả khá khác nhau. Vì vậy, điều này nên được sử dụng, ví dụ: Để gắn cờ đầu vào người dùng để xem xét thêm trước khi lưu nó vào DB hoặc kết xuất nó một cách mù quáng. [Xem JSFiddle để biết ví dụ về chuẩn hóa]

Các kiểm tra sẽ xem xét các ngoại lệ sau

  • Bỏ qua việc bình thường hóa các trích dẫn đơn lẻ để trích dẫn gấp đôi
  • image và các thẻ khác có thuộc tính src được 'giải giáp' trong quá trình kết xuất
  • [Nếu không nghiêm ngặt] Bỏ qua
    >>
    Chuyển đổi
  • [Nếu không nghiêm ngặt] Bỏ qua việc chuẩn hóa các thuộc tính trống [

    >>

  • Mã hóa các ampersands không được mã hóa ban đầu khi đọc
    "

Bài Viết Liên Quan

Chủ Đề