Tôi hiện đang có một vấn đề đọc trong XHTML như phân tích cú pháp XML không công nhận các tổ chức nhân vật HTML vậy:DOMDocument :: LoadXml vs Đối tượng HTML
<?php
$text = <<<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Entities are Causing Me Problems</title>
</head>
<body>
<p>Copyright © 2010 Some Bloke</p>
</body>
</html>
EOF;
$imp = new DOMImplementation();
$html5 = $imp->createDocumentType ('html', '', '');
$doc = $imp->createDocument ('http://www.w3.org/1999/xhtml', 'html', $html5);
$doc->loadXML ($text);
header ('Content-Type: application/xhtml+xml; charset: utf-8');
echo $doc->saveXML();
Kết quả trong:
Warning: DOMDocument::loadXML() [domdocument.loadxml]: Entity 'copy' not defined in Entity, line: 8 in testing.php on line 19
Làm cách nào để khắc phục sự cố này trong khi cho phép bản thân tôi phân phối các trang dưới dạng XHTML5?
Sau khi một số tìm kiếm xung quanh điều này thực sự có vẻ là trường hợp. Có vẻ kỳ lạ nhưng cảm ơn bạn rất nhiều vì thông tin. – casr
+1 Wow, HTML 5 không có DTD? Không biết điều đó. – Gumbo
HTML5 định nghĩa tất cả các thực thể HTML có tên là một phần của thông số của nó, nó chỉ * XHTML5 * không có, và chủ yếu là vì * XML * yêu cầu các định nghĩa này trong DTD mà HTML5/XHTML5 không có. – thomasrutter