例如,我创建一个这样的DOMDocument:
$implementation = new DOMImplementation();
$dtd =
$implementation->createDocumentType
(
'html', // qualifiedName
'-//W3C//DTD XHTML 1.0 Transitional//EN', // publicId
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-'
.'transitional.dtd' // systemId
);
$document = $implementation->createDocument('', '', $dtd);
$elementHtml = $document->createElement('html');
$elementHead = $document->createElement('head');
$elementBody = $document->createElement('body');
$elementTitle = $document->createElement('title');
$textTitre = $document->createTextNode('My bweb page');
$attrLang = $document->createAttribute('lang');
$attrLang->value = 'en';
$document->appendChild($elementHtml);
$elementHtml->appendChild($elementHead);
$elementHtml->appendChild($attrLang);
$elementHead->appendChild($elementTitle);
$elementTitle->appendChild($textTitre);
$elementHtml->appendChild($elementBody);
那么,现在,如果我有一些像这样的xhtml字符串:
$xhtml = '
Hello
World
';如何在< body>中导入它?我的DOMDocument的节点?
就目前而言,我发现的唯一解决方案是这样的:
$simpleXmlElement = new SimpleXMLElement($xhtml);
$domElement = dom_import_simplexml($simpleXmlElement);
$domElement = $document->importNode($domElement, true);
$elementBody->appendChild($domElement);
这个解决方案对我来说似乎非常糟糕,并且会产生一些问题,比如当我尝试使用这样的字符串时:
$xhtml = '
Hello World
';好的,我可以通过转换Unicode实体中的xhtml实体来绕过这个问题,但它太丑了……
有帮助吗?
谢谢提前!
相关问题: