<อ้างอิง PHP XML ที่สมบูรณ์
ความหมายและการใช้งาน
xml_set_external_entity_ref_handler() ฟังก์ชั่นระบุฟังก์ชั่นที่จะถูกเรียกเมื่อแยกวิเคราะห์พบว่ากิจการภายนอกในเอกสาร XML
ฟังก์ชั่นนี้จะส่งกลับ TRUE ในความสำเร็จหรือความล้มเหลวผิดพลาดใน
วากยสัมพันธ์
xml_set_external_entity_ref_handler(parser,handler)
พารามิเตอร์ | ลักษณะ |
---|---|
parser | จำเป็นต้องใช้ ระบุ parser XML เพื่อใช้ |
handler | จำเป็นต้องใช้ ระบุฟังก์ชั่นที่จะถูกเรียกเมื่อแยกวิเคราะห์พบว่ากิจการภายนอก |
ฟังก์ชั่นที่ระบุโดย "handler" พารามิเตอร์ต้องมีห้าพารามิเตอร์:
พารามิเตอร์ | ลักษณะ |
---|---|
parser | จำเป็นต้องใช้ ระบุตัวแปรที่มี parser XML โทรจัดการ |
name | จำเป็นต้องใช้ ระบุตัวแปรที่มีชื่อของนิติบุคคลภายนอก |
base | จำเป็นต้องใช้ ระบุฐานสำหรับการแก้ไขระบุระบบ (system_id) ของนิติบุคคลภายนอก ปัจจุบันนี้อยู่เสมอโมฆะ |
system_id | จำเป็นต้องใช้ ระบุการระบุระบบสำหรับนิติบุคคลภายนอก |
public_id | จำเป็นต้องใช้ ระบุตัวระบุที่สาธารณะเป็นนิติบุคคลภายนอก |
เคล็ดลับและคำอธิบาย
Note: พารามิเตอร์จัดการยังสามารถเป็นอาร์เรย์ที่มีการอ้างอิงวัตถุและชื่อวิธีการ
ตัวอย่าง
<?php
$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 />";
}
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);
?>
<อ้างอิง PHP XML ที่สมบูรณ์