TECH I.S.

PHP xml_set_external_entity_ref_handler() 関数

❮ PHP XML パーサー リファレンス

XML パーサーを作成し、文字データ ハンドラーを設定し、外部エンティティ参照ハンドラーを設定して、XML ドキュメントを解析します。

<?php // Create an XML parser $parser=xml_parser_create(); function char($parser,$data) { echo $data; } function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)  { echo "$ent<br>"; echo "$sysID<br>"; echo "$pubID<br>"; } // Set the character data handler xml_set_character_data_handler($parser,"char"); // Set the external entity reference handler xml_set_external_entity_ref_handler($parser, "ext_ent_handler"); $fp=fopen("note_entity.xml","r"); while ($data=fread($fp,4096)) {   // Parse XML data   xml_parse($parser,$data,feof($fp)) or   die (sprintf("XML Error: %s at line %d",   xml_error_string(xml_get_error_code($parser)),   xml_get_current_line_number($parser))); } xml_parser_free($parser); fclose($fp); ?>


定義と使用法

xml_set_external_entity_ref_handler() 関数は、パーサーが XML ドキュメント内で外部エンティティを検出したときに呼び出される関数を指定します。

注:ハンドラーパラメーターは、オブジェクト参照とメソッド名を含む配列にすることもできます。

構文

xml_set_external_entity_ref_handler(parser, handler)

パラメータ値

パラメータ

説明

parser 必須。使用する XML パーサーを指定します
handler 必須。イベント ハンドラとして使用する関数を指定します。関数は 5 つのパラメーターを受け入れます。
  • $parser - ハンドラーを呼び出す XML パーサーを含む変数
  • $name - 外部エンティティの名前を含む変数
  • $base - 外部エンティティのシステム識別子 (system_id) を解決するためのベース。通常は空の文字列
  • $system_id - エンティティ宣言で指定されたシステム識別子
  • $public_id - エンティティ宣言で指定された公開識別子


技術的な詳細

戻り値:

成功した場合はTRUE。失敗した場合は FALSE

PHP バージョン:

4.0+

❮ PHP XML パーサー リファレンス


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細