首頁 >後端開發 >php教程 >如何正確格式化 PHP 的 XML 輸出?

如何正確格式化 PHP 的 XML 輸出?

Susan Sarandon
Susan Sarandon原創
2024-11-25 02:01:18652瀏覽

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