DOMDocument在PHP中转义结束字符

9 浏览
0 Comments

DOMDocument在PHP中转义结束字符

我遇到了一个关于DOMDocument类的问题。我使用这个PHP类来编辑一个HTML模板。在这个模板中,我有一个meta标签:\n


\n但是在编辑后,即使我没有编辑这个标签,它会转义结束字符\"/\",导致它无法正常工作。\n以下是脚本:\n

$textValue = $company.''.$firstName.' '.$lastName.''.$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 ';

0
0 Comments

DOMDocument在PHP中转义末尾字符的原因是因为DOMDocument->saveHTMLFile()方法将其内部结构输出为普通的HTML而不是XHTML。如果确实需要XHTML,可以使用DOMDocument->saveXMLFile()方法,该方法会使用自闭合标签。但是这种方法的问题是,一些HTML标签无法使用自闭合标签,如<script><style>,所以必须在它们的内容中添加一个空格,以避免使用自闭合标签。

如果不是必须解决这个问题,我建议忽略它。自闭合标签是XHTML的遗留物,在HTML5中不再使用。

0