PHP XML:以格式化方式显示 XML
本文解决了从 PHP 格式化 XML 输出的问题。在提供的代码中,将 XML 打印到浏览器会产生没有缩进或换行的扁平输出。为了解决这个问题,我们可以利用 PHP 函数来增强格式设置。
第一步涉及设置 DomDocument 实例的preserveWhiteSpace 和 formatOutput 属性:
$doc->preserveWhiteSpace = false; $doc->formatOutput = true;
将preserveWhiteSpace 设置为 false 可删除过多的内容XML 中的空格,而 formatOutput 指示 PHP 根据其结构格式化 XML。
或者,这些属性可以在 DomDocument 创建期间设置:
$doc = new DomDocument('1.0'); $doc->preserveWhiteSpace = false; $doc->formatOutput = true;
格式化的 XML 现在将显示正确的缩进和换行符:
<?xml version="1.0"?> <root> <error> <a>eee</a> <b>sd</b> <c>df</c> </error> <error> <a>eee</a> <b>sd</b> <c>df</c> </error> <error> <a>eee</a> <b>sd</b> <c>df</c> </error> </root>
对于其他自定义,我们可以使用正则表达式用制表符替换空格:
$xml_string = preg_replace('/(?:^|\G) /um', "\t", $xml_string);
最后,我们还可以使用 tidy 扩展(如果可用) tidy_repair_string 函数用于格式化 XML:
tidy_repair_string($xml_string, ['input-xml'=> 1, 'indent' => 1, 'wrap' => 0]);
此方法可以精确控制缩进级别,但不会产生制表符缩进。
以上是如何正确格式化 PHP 的 XML 输出?的详细内容。更多信息请关注PHP中文网其他相关文章!