मैं वर्तमान में एक समस्या XML पार्सर के रूप XHTML में पढ़ने एचटीएमएल चरित्र संस्थाओं तो नहीं पहचानता है है: मेंDOMDocument :: loadXML बनाम 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();
परिणाम:
Warning: DOMDocument::loadXML() [domdocument.loadxml]: Entity 'copy' not defined in Entity, line: 8 in testing.php on line 19
एक्सएचटीएमएल 5 के रूप में पृष्ठों को प्रस्तुत करने की अनुमति देते हुए मैं इसे कैसे ठीक कर सकता हूं?
इसके आसपास कुछ खोज करने के बाद वास्तव में मामला प्रतीत होता है। अजीब लगता है लेकिन जानकारी के लिए बहुत बहुत धन्यवाद। – casr
+1 वाह, एचटीएमएल 5 में डीटीडी नहीं है? उसे नहीं पता था। – Gumbo
एचटीएमएल 5 अपने पुराने एचटीएमएल नामित इकाइयों को अपने spec के हिस्से के रूप में परिभाषित करता है, यह केवल * एक्सएचटीएमएल 5 * है जो नहीं करता है, और यह मुख्य रूप से इसलिए है क्योंकि * एक्सएमएल * को डीटीडी में परिभाषित करने की आवश्यकता है जो एचटीएमएल 5/एक्सएचटीएमएल 5 नहीं है। – thomasrutter