최신 웹 개발 튜토리얼
 

PHP xml_set_external_entity_ref_handler() Function


<전체 PHP의 XML 참조

정의 및 사용

xml_set_external_entity_ref_handler() 함수는 파서가 XML 문서에 외부 엔티티를 발견하면 함수가 호출을 지정합니다.

이 함수는 성공시 TRUE, 실패하면 FALSE를 반환합니다.

통사론

xml_set_external_entity_ref_handler(parser,handler)

매개 변수 기술
parser 필요합니다. 사용하는 XML 파서를 지정합니다
handler 필요합니다. 파서가 외부 엔티티를 발견 할 때 호출되는 함수를 지정합니다

에 의해 지정된 기능 "handler" 매개 변수는 5 개 개의 매개 변수가 있어야합니다 :

매개 변수 기술
parser 필요합니다. 핸들러를 호출하는 XML 파서를 포함하는 변수를 지정합니다
name 필요합니다. 외부 개체의 이름이 포함 된 변수를 지정합니다
base 필요합니다. 시스템 식별자 해결베이스 지정 (system_id) 외부의 엔티티가. 현재이 항상 NULL이다
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 참조