왜이 오류 처리 함수를 사용하면 domdocument()가 중단됩니까?
다음
$dom = new DOMDocument();
$dom->loadHTML($output);
$xpath = new DOMXPath($dom);
으로 스크립트에 포함하고 웹 페이지를 구문 분석 할 때 (이 경우 http://www.ssense.com/women/designers/all/all/page_1, 나는 구문 분석 할 수있는 권한이 있습니다.)
AN ERROR OCCURRED IN SCRIPT '/HSPHERE/LOCAL/HOME/SITE.COM/SCRIPT.PHP' ON LINE 59:
DOMDOCUMENT::LOADHTML(): HTMLPARSEENTITYREF: NO NAME IN ENTITY, LINE: 57
AN ERROR OCCURRED IN SCRIPT '/HSPHERE/LOCAL/HOME/SITE.COM/SCRIPT.PHP' ON LINE 59:
DOMDOCUMENT::LOADHTML(): TAG NAV INVALID IN ENTITY, LINE: 58
많은 오류가 있으며 페이지로드가 완료되지 않습니다. 그러나이 오류 처리기를 포함하지 않으면
$dom->loadHTML($output);
줄에 오류가 발생하지 않으며 몇 초 안에 예상되는 결과가 나타납니다. 오류 처리기가 loadHTML()과 관련된 경고를 catch하고 있다고 가정합니다. (
@$dom->loadHTML($output);
를 사용하더라도 오류가보고됩니다.) loadHTML()에 대한 호출을 수용하도록 오류 처리기를 수정하거나이 문제를 해결하려면 어떻게해야합니까?
고마워, 나는이 문제를 해결하기로 결정했는데 오류 처리기가 error_reporting() (위에서 언급 한 AgentConundrum)의 값을 확인함으로써 문제를 해결하기로 결정했기 때문에 다른 곳에서도 비슷한 문제가 해결 될 수 있습니다. 궁금 해서요, 왜 libxml이 오류 제거를위한 자체 메서드를 제공합니까? 오류 처리기를 통해 처리하는 것보다 편리하기 때문입니까? – jela