我有类DOMDocument的问题。我用这个php类编辑一个html模板。我在这个模板中有这个元标记:
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
但是在编辑之后,虽然我没有编辑这个标签,但它会转义结束字符“/”并且它不起作用。 这是脚本:
$textValue = $company.'<br />'.$firstName.' '.$lastName.'<br />'.$adress;
$values = array($company, $firstName.' '.$lastName, $adress);
$document = new DOMDocument;
$document->loadHTMLFile($dir.'temp/OEBPS/signature.html');
$dom = $document->getElementById('body');
for ($i = 0; $i < count($values); $i++) {
$dom->appendChild($document->createElement('p', $values[$i]));
}
$document->saveHTMLFile($dir.'temp/OEBPS/signature.html');
echo 'signature added <br />';
答案 0 :(得分:1)
请参阅此问题提供的答案:Why doesn't PHP DOM include slash on self closing tags?
简而言之,DOMDocument->saveHTMLFile()
将其内部结构输出为常规旧HTML而不是XHTML。如果您绝对需要XHTML,可以使用DOMDocument->saveXMLFile()
,它将使用自闭标记。此方法的唯一问题是某些HTML标记无法使用自我结束标记,例如<script>
和<style>
,因此您必须在其内容中放置一个空格,以便它们不使用自动关闭标记。
我建议只是忽略这个问题,除非你必须修复它。自闭标签是XHTML的遗物,是unused in HTML5。