ฟังก์ชัน PHP xml_set_external_entity_ref_handler()

การกำหนดและการใช้งาน

ฟังก์ชัน xml_set_external_entity_ref_handler() กำหนดฟังก์ชันที่จะเรียกใช้เมื่อตัวแปรที่ประกาศรายการทางด้านระบบถูกหาพบในเอกสาร XML

ถ้าตัวแปรที่ประกาศรายการทางด้านระบบสร้างสำเร็จ ฟังก์ชันจะกลับค่า true อย่างเรียบร้อย; ไม่เช่นนั้นกลับค่า false

ภาษาเขียน

xml_set_external_entity_ref_handler(parser,handler)
ตัวแปร คำอธิบาย
parser จำเป็น。กำหนดตัวแปรที่ใช้ในการประกาศรายการทางด้าน XML
handler จำเป็น。กำหนดฟังก์ชันที่จะเรียกใช้เมื่อตัวแปรที่ประกาศรายการทางด้านระบบถูกหาพบ

โดย handler ตัวแปรที่กำหนดโดยฟังก์ชันต้องมีหกตัวแปรที่ต้องการ

ตัวแปร คำอธิบาย
parser จำเป็น。กำหนดตัวแปรที่มีความหมายเป็นประกาศรายการที่ใช้ในการประกาศรายการทางด้าน XML
name จำเป็น。กำหนดตัวแปรที่มีความหมายเป็นชื่อของตัวกลุ่มทางด้านระบบ
base

จำเป็น。กำหนดตัวแปรที่มีความหมายเป็นฐานของตัวแปร system_id ที่ใช้ในการประกาศรายการทางด้านระบบ

ปัจจุบันค่าที่ใช้ปกติเป็นไปด้วยข้อความว่าง

system_id public_id
ระบุตัวแปรที่มีความหมายเป็นรหัสโซ่ต่างประเทศของตัวแปรภายนอก สำคัญ

คำอธิบาย

handler ตัวแปรที่ใช้สำหรับตัวเลือกสามารถเป็นแบบรูปแบบของมองเพื่อเก็บอ้างอิงตัวแปรและชื่อฟังก์ชัน

ตัวอย่าง

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent";
  echo "$sysID";
  echo "$pubID";
  }
xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_ent_handler");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
  {
  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);
?>