概要
esc_xml
関数は、XML要素向けにエスケープするために使用されるWordPressの組み込み関数です。この関数は、XML文書内で特定の文字(例: <
, >
, &
)を適切にエスケープして、無効なXMLを作成しないようにするために役立ちます。具体的には、以下のような機能を実装する際によく使われます。
- XMLレスポンスの生成
- XMLフィードの作成
- XMLデータのインポートおよびエクスポート
- REST APIのXMLレスポンスの作成
- プラグイン設定のXML形式の保存
- カスタムXMLマーカーの出力
- XMLでのデータシリアライズ
- XMLを用いたデータ取得
構文
esc_xml( $text );
パラメータ
$text
(string): エスケープすべき文字列。
戻り値
- (string): エスケープされた文字列。
関連する関数
使用可能なバージョン
esc_xml
関数は、WordPress 2.6以降で利用可能です。
コアファイルのパス
wp-includes/formatting.php
サンプルコード
サンプル1: 基本的な使い方
このサンプルでは、単純な文字列をエスケープしてXML要素に安全に挿入しています。
$text = 'This is a <sample> & test';
$escaped_text = esc_xml( $text );
echo "<example>$escaped_text</example>";
このコードは、<example>This is a <sample> & test</example>
と出力されます。
サンプル2: 特殊文字を含む文字列のエスケープ
このサンプルでは、より複雑な文字列に含まれる特殊文字をエスケープします。
$text = 'XML has <tags> & "quotes"';
$escaped_text = esc_xml( $text );
echo $escaped_text; // 出力: XML has <tags> & "quotes"
特定のXMLタグや引用符がエスケープされることを示しています。
サンプル3: 配列をループして複数の文字列をエスケープ
配列内の各文字列をエスケープしてXML要素を生成します。
$texts = ['First <item>', 'Second & "item"', 'Third item'];
foreach ($texts as $text) {
echo "<item>" . esc_xml( $text ) . "</item>n";
}
このコードは、各アイテムをXML形式で安全に出力します。
サンプル4: REST API応答内での使用
REST APIのレスポンスデータで実際にエスケープを適用します。
$data = [
'message' => esc_xml('Hello & welcome to <API>!')
];
header('Content-Type: application/xml');
echo "<response>" . esc_xml( json_encode($data) ) . "</response>";
XMLレスポンス内でJSONデータをエスケープして出力します。
サンプル5: HTMLとの併用
esc_xml
を使用して、HTMLとXMLを混在させて表示します。
echo "<div>Data: " . esc_xml('<sample>Data & "More Data"</sample>') . "</div>";
このコードは、安全にHTML要素内にXMLを埋め込む方法を示しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
特に非推奨または削除されたバージョンはありません。