Tôi đã nhúng HTML Tidy trong ứng dụng của mình để xóa HTML đến. Nhưng Tidy có một số lượng lớn các lỗi và sửa chúng trực tiếp trong nguồn là cơn ác mộng tồi tệ nhất của tôi. Mã nguồn gọn gàng là abomination không đọc được. Nghìn + dòng chức năng, tên biến nghèo, mã spaghetti vv Nó thực sự khủng khiếp.Có cách nào thay thế cho HTML Tidy không?
Tệ hơn nữa, phát triển chính thức seems to have ceased. Trong 12 tháng qua, đã có ba ghi các giao dịch vào repo CVS chính thức. Nhưng nó đã chết và bị chôn vùi lâu hơn ...
Vì vậy, tôi đang tìm một ứng dụng OSS C hoặc C++/thư viện có thể làm những gì Tidy có thể (khi nó cảm thấy như nó): sửa lỗi đánh dấu HTML xấu và biến nó thành XHTML hợp lệ (đây là phần tôi quan tâm). Và tôi có nghĩa là tất cả các loại đánh dấu xấu.
Có điều gì giống như vậy không?
EDIT: Tôi cần cả hai thao tác trên cây DOM bằng công cụ xử lý XML và để tuân thủ chung với thông số XHTML. Ứng dụng của tôi cần chấp nhận HTML từ người dùng (thường không hợp lệ theo tất cả các cách) và đầu ra XHTML hợp lệ. Nó cần để có thể xử lý ngay cả HTML mà thông thường sẽ không hiển thị trong trình duyệt bởi vì người dùng đã chỉnh sửa nó bằng tay và không kiểm tra sau đó.
Thay thế thả cho trình phân tích cú pháp sửa lỗi của Tidy ... không hút. Tôi không nhớ các lỗi nếu nguồn có thể đọc được và tôi có thể tự khắc phục sự cố hoặc nếu có các nhà phát triển đang hoạt động cung cấp bản sửa lỗi kịp thời.
Không biết nếu đây là bất kỳ sử dụng cho bạn, nhưng có một thư viện Java được gọi là TagSoup (http: //home.ccil.org/~ cowan/XML/tagsoup /) mà dường như có một vài cổng C++, có thể, ngoại trừ một số không miễn phí và tôi không chắc chắn về những thứ khác được duy trì. Nó tạo ra một luồng các sự kiện SAX, nhưng biến nó thành đầu ra XML chỉ là vấn đề gắn ống đúng vào đầu vòi. Không bao giờ sử dụng nó bản thân mình, mặc dù. –