首页 >后端开发 >php教程 >如何正确格式化 PHP 的 XML 输出?

如何正确格式化 PHP 的 XML 输出?

Susan Sarandon
Susan Sarandon原创
2024-11-25 02:01:18703浏览

How Can I Properly Format XML Output from PHP?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn