整形式のXHTMLドキュメントを出力するためにSimpleXMLを使用しようとしています。 私はこのようにそれをやっている:SimpleXMLを使用してXHTMLを出力する際に奇妙なものがあります
$pbDoc = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>'.$myTitle.'</title>
<!-- Other headers -->
</head>
</html>');
私は文書を作成した後、私は、出力はかなり読みやすいコードにしたいので、私はこのようなDOMモジュールを使用しています:、今
$dom = new DOMDocument();
$dom->loadXML($pbDoc->asXML());
$dom->formatOutput = true;
echo $dom->saveXML();
私に迷惑をかける2つの奇妙なことがあります。可能であれば、この動作が正常かどうか、またそれを無効にする方法は不思議です。 DOCTYPEの
存在は右開き
<head>
タグの後に不要なmetaタグを追加する$pbDoc->asXML()
が発生します。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
なぜ?
- 何らかの理由で、DOMモジュールではコードがまったくインデントされません(XHTMLではなく、XML以外のドキュメントでも非常にうまくいきます)。
私はどこが間違っているのか、これらの迷惑を取り除く方法について教えてもらえますか?
SimpleXMLが何らかの「HTMLモード」に切り替わっているようです。 – Boldewyn
うん、私にはあまりにもそうだ。したがって、私はこのモードを防ぐことが可能かどうか疑問に思っています。 –