【PHP8.x】encodingプロパティの使い方
encodingプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『encodingプロパティは、DOMDocumentオブジェクトが扱うドキュメントのエンコーディング(文字コード)を保持するプロパティです。このプロパティは、ドキュメントの文字エンコーディングを取得したり、設定したりするために使用されます。loadXML()やloadHTML()メソッドを使ってXMLやHTMLファイルを読み込むと、そのファイル内で指定されているエンコーディング、例えばXML宣言のencoding属性の値などがこのプロパティに自動的に格納されます。これにより、現在操作しているドキュメントがどのエンコーディングで記述されているかを確認できます。逆に、このプロパティに新しいエンコーディング名(例: 'Shift_JIS')を代入することで、ドキュメントを保存する際のエンコーディングを指定することが可能です。saveXML()やsaveHTML()メソッドでドキュメントをファイルや文字列として出力する際には、このプロパティに設定された値がXML宣言に反映されます。ただし、このプロパティは主に出力時のエンコーディングを指定するためのものであり、オブジェクトが内部で保持しているデータの文字エンコーディングそのものを変換するわけではない点に注意が必要です。ドキュメントにエンコーディングの指定がない場合、このプロパティはnullを返すことがあります。
構文(syntax)
1<?php 2 3// DOMDocumentオブジェクトを作成します 4$dom = new DOMDocument(); 5 6// encodingプロパティにドキュメントのエンコーディングを設定します 7$dom->encoding = 'UTF-8'; 8 9// encodingプロパティから設定されたエンコーディングを取得します 10$encodingValue = $dom->encoding; 11 12// 取得した値を表示します 13echo $encodingValue; // "UTF-8" が出力されます
引数(parameters)
戻り値(return)
string|null
DOMDocumentオブジェクトがXMLドキュメントのエンコーディングとして設定されている文字列、または設定されていない場合はnullを返します。