libxml_clear_errors() 함수는 libxml 오류 버퍼에 누적된 모든 오류 정보를 삭제(초기화)하는 PHP 내장 함수입니다. XML 문서를 파싱하는 도중 발생한 오류를 처리한 뒤, 이전 오류가 남아 있지 않도록 버퍼를 깨끗이 비울 때 사용합니다.
문법
libxml_clear_errors()
매개변수
이 함수는 매개변수를 받지 않습니다.
반환 값
libxml_clear_errors() 함수는 별도의 반환 값이 없습니다(void).
예제
다음은 libxml_clear_errors() 함수의 실제 사용 예시입니다 −
<?php
var_dump(libxml_use_internal_errors(true));
$mydoc = new DOMDocument;
if (!$mydoc->load('new.xml')) {
foreach (libxml_get_errors() as $error) {
// 여기서 오류를 처리합니다
}
libxml_clear_errors();
}
?>
예제 설명
위 코드는 다음과 같은 순서로 동작합니다.
1. libxml_use_internal_errors(true)를 호출하여 표준 PHP 경고 대신 libxml 오류를 내부 버퍼에 저장하도록 설정합니다.
2. DOMDocument 객체로 XML 파일을 로드하는데, 로드에 실패하면 if 문 안의 코드가 실행됩니다.
3. libxml_get_errors()로 버퍼에 쌓인 오류들을 하나씩 순회하며 처리합니다.
4. 마지막으로 libxml_clear_errors()를 호출해 오류 버퍼를 초기화하여, 이후 작업에서 이전 오류가 영향을 주지 않도록 합니다.
함께 알아두면 좋은 관련 함수
libxml_get_errors() – 오류 버퍼에 저장된 오류 배열을 가져옵니다.
libxml_get_last_error() – 가장 최근에 발생한 오류 하나만 반환합니다.
libxml_use_internal_errors() – libxml 오류를 내부 버퍼에 저장할지 여부를 설정합니다.