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中文網其他相關文章!