我有一个我想抓住的网址。我只想要一小段内容。有问题的内容位于ID为sample的div中。
<div id="sample">
Content
</div>
我可以像这样抓取文件:
$url= file_get_contents('http://www.example.com/');
但我如何选择该样本div。
有什么想法吗?
答案 0 :(得分:2)
我建议使用PHP Simple HTML DOM Parser。
然后你可以这样做:
$html = file_get_html('http://www.example.com/');
$html->find('div[#sample]', 0);
答案 1 :(得分:1)
我会推荐类似Simple HTML DOM的内容,但如果你非常确定格式,你可能希望使用正则表达式来提取你想要的数据。
答案 2 :(得分:0)
不久前,我发布了一个名为PHPPowertools/DOM-Query
的开源库,它允许您(1)加载HTML文件,然后(2)选择或更改HTML的部分内容,就像你做的那样用jQuery。
使用该库,以下是您为示例选择示例div的方法:
use \PowerTools\DOM_Query;
// Get file content
$htmlcode = file_get_contents('http://www.example.com/');
// Create a new DOM_Query object
$H = new DOM_Query($htmlcode);
// Find the elements that match selector "div#sample"
$s = $H->select('div#sample');