ホームページ  >  記事  >  バックエンド開発  >  PHP で適切にフォーマットされ、UTF-8 でエンコードされた XML を出力するにはどうすればよいですか?

PHP で適切にフォーマットされ、UTF-8 でエンコードされた XML を出力するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-24 04:20:14128ブラウズ

How Can I Output Well-Formatted and UTF-8 Encoded XML in PHP?

PHP XML: 適切にフォーマットされた XML の出力

PHP で XML ドキュメントを作成する場合、読みやすいように正しくフォーマットされていることを確認することが重要です。そしてアクセシビリティ。デフォルトでは、PHP はフォーマットされていない XML を出力するため、作業が困難になります。この記事では、PHP で生成された XML をより構造化され、使いやすい外観にするためにフォーマットする方法について説明します。

現在の問題

ウェルでの XML の出力に問題が発生しています。 -構造化された形式。要素は適切にインデントされ、行で区切られます。代わりに、XML の圧縮バージョンが取得されるため、読み取りや編集が困難になります。さらに、出力を UTF-8 エンコードにしたいと考えています。

解決策

XML をフォーマットしてエンコードを UTF-8 に変更するには、次の手順に従います。手順:

// Create a new DOMDocument object
$doc = new DomDocument('1.0', 'UTF-8');

// Enable XML formatting
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;

// ... (Continue with your XML processing)

// Output the formatted XML document
$xml_string = $doc->saveXML();
echo $xml_string;

説明

  • preserveWhiteSpace を false に設定すると、XML ドキュメントから不要な空白が削除されます。
  • 設定formatOutput を true に設定すると、saveXML メソッドがインデントに従って出力 XML をフォーマットするように指示されます。 rules.
  • 新しい DomDocument コンストラクターの UTF-8 引数は、エンコーディングを UTF-8 に設定します。

カスタマイズ

インデント文字をカスタマイズしたい場合は、正規表現を使用してスペースを次の文字に置き換えることができます。タブ:

$xml_string = preg_replace('/(?:^|\G)  /um', "\t", $xml_string);

または、Tidy 拡張機能を使用して XML を整形印刷することもできます:

tidy_repair_string($xml_string, ['input-xml' => 1, 'indent' => 1, 'wrap' => 0]);

これらの手法に従うことで、適切にフォーマットされた XML を PHP で出力でき、改善されます。読みやすさと使いやすさをさまざまなアプリケーションに応用できます。

以上がPHP で適切にフォーマットされ、UTF-8 でエンコードされた XML を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。