我使用phpQuery来解析页面但是我注意到当它与带有无效标记的页面一起使用时,它会导致
PHP致命错误:未捕获的异常'异常',消息为'错误 加载XML标记'
页面中违规代码的示例是:
<?xml version="1.0" encoding="iso-8859-2"?>
<link href="http://example.com/?foo=bar&baz=quz" />
我希望phpQuery会为这些页面返回false,但遗憾的是它导致了即时的致命错误,导致我无法对此做些什么。
在初始化像phpQuery::newDocumentFile($page);
我非常喜欢phpQuery,因为它的工作方式与jQuery类似,但我正在寻找一种可用于无效标记的替代解决方案。
答案 0 :(得分:5)
实际上,由于标记无效而导致崩溃。由于您没有捕获无效标记抛出的异常,因此导致崩溃。
尝试在try-catch中初始化,如:
try {
phpQuery::newDocumentFile($page);
//Process the page here
} catch (Exception $e) {
//What do we do if any of that fails?
}
如果你没有抓住它们,例外只会成为致命的错误。
答案 1 :(得分:1)
在传递给phpQuery之前,您可以先使用PHP来验证XML。关于如何通过PHP验证XML,这是一个非常good article。