Trong this post Tôi hỏi nếu có bất kỳ công cụ nào so sánh cấu trúc (không phải nội dung thực tế) của 2 trang HTML. Tôi hỏi vì tôi nhận được các mẫu HTML từ các nhà thiết kế của chúng tôi và thường xuyên bỏ lỡ các thay đổi định dạng nhỏ trong việc triển khai của tôi. Tôi sau đó lãng phí một vài giờ của thời gian thiết kế sàng lọc thông qua các trang của tôi để tìm những sai lầm của tôi.Đề xuất về cách xây dựng công cụ Diff HTML?
Chuỗi cung cấp một số đề xuất tốt, nhưng không có gì phù hợp với hóa đơn. "Được rồi, rồi", tôi nghĩ, "Tôi sẽ tự mình quây rầy một mình. Tôi là một nhà phát triển nửa chừng, đúng không?".
Vâng, một khi tôi bắt đầu nghĩ về nó, tôi không thể tìm ra cách để đi về nó. Tôi có thể quay ra một trang web hướng dữ liệu một cách dễ dàng, hoặc thực hiện CMS, hoặc ném tài liệu vào và ra khỏi BizTalk cả ngày. Không thể bắt đầu tìm ra cách so sánh tài liệu HTML.
Vâng, chắc chắn, tôi phải đọc DOM và lặp qua các nút. Tôi phải lập bản đồ cấu trúc cho một số cấu trúc dữ liệu (như thế nào ??), và sau đó so sánh chúng (như thế nào ??). Đó là một nhiệm vụ phát triển như tôi chưa từng thử.
Vì vậy, bây giờ tôi đã xác định được điểm yếu trong kiến thức của mình, tôi thậm chí còn khó khăn hơn để tìm ra điều này. Bất kỳ đề xuất nào về cách bắt đầu?
làm rõ: nội dung thực tế không phải là những gì tôi muốn so sánh - những người sáng tạo điền vào các trang của họ với lorem ipsum và tôi sử dụng nội dung thực. Thay vào đó, tôi muốn so sánh cấu trúc:
<div class="foo">lorem ipsum<div>
là khác nhau mà
<div class="foo">
<p>lorem ipsum<p>
<div>
Tôi nghĩ rằng vấn đề của OP là anh ấy đã thêm nội dung vào trang và trong quá trình này có thể đã vô tình thay đổi một số đánh dấu. Vì vậy, diffing sẽ thấy tất cả các nội dung như diffs khi tất cả những gì ông muốn là đánh dấu sự khác biệt. – EBGreen