simplexml可以用来通过html步枪吗?
我想在不使用正则表达式的情况下从表中获取数据。我喜欢使用simplexml来解析RSS提要,并且想知道它是否可以用来从另一个页面获取表格。
例如。用curl或简单地file_get_contents()抓住页面;然后使用单纯形ml来抓取内容物?
我想在不使用正则表达式的情况下从表中获取数据。我喜欢使用simplexml来解析RSS提要,并且想知道它是否可以用来从另一个页面获取表格。
例如。用curl或简单地file_get_contents()抓住页面;然后使用单纯形ml来抓取内容物?
您可以使用 DOM 模块中的 loadHTML
函数,然后通过 simplexml_import_dom
将该 DOM 导入 SimpleXML:
$html = file_get_contents('http://example.com/');
$doc = new DOMDocument();
$doc->loadHTML($html);
$sxml = simplexml_import_dom($doc);
如果这是XHTML - 是的,这绝对是可能的。真正的XHTML最终只是XML,因此可以使用XML解析器对其进行解析。
但是,SimpleXML 只接受严格的 XML。如果你无法获得有效的XHTML,看起来首先通过不太严格的库就可以了(来源在这里):DOMDocument
<?php
$html = file_get_contents('http://...');
$doc = new DOMDocument();
$doc->strictErrorChecking = FALSE;
$doc->loadHTML($html);
$xml = simplexml_import_dom($doc);
?>