处理无效标记时不会崩溃的phpQuery的替代方案?

IMB*_*IMB 2 php regex screen-scraping

我正在使用phpQuery来解析页面但是我注意到当它与带有无效标记的页面一起使用时,它会导致

PHP致命错误:未捕获异常'异常',消息'加载XML标记时出错'

在页面中冒犯代码的示例是:

<?xml version="1.0" encoding="iso-8859-2"?>
<link href="http://example.com/?foo=bar&baz=quz" />
Run Code Online (Sandbox Code Playgroud)

我希望phpQuery会为这些页面返回false,但遗憾的是它导致了即时的致命错误,使我无法对此做些什么.

初始化phpquery时会立即发生错误 phpQuery::newDocumentFile($page);

我真的很喜欢phpQuery,因为它的工作方式与jQuery类似,但我正在寻找一种可用于无效标记的替代解决方案.

Dun*_*ger 5

实际上,由于标记无效,不会导致崩溃.由于您没有捕获无效标记引发的异常,因此导致崩溃.

尝试在try-catch中初始化,如:

try {
    phpQuery::newDocumentFile($page);
    //Process the page here
} catch (Exception $e) {
    //What do we do if any of that fails?
}
Run Code Online (Sandbox Code Playgroud)

如果您没有捕获它们,例外只会成为致命错误.