我正在尝试创建一个脚本,只回显在Google上隐藏图像的div。
$url = "http://www.google.com/";
$page = file($url);
foreach($page as $theArray) {
echo $theArray;
}
问题在于整个页面的回声。
我想只回显<div id="lga">
和下一个</div>
之间的部分
注意:我尝试使用if,但它没有工作,所以我删除了它们
由于
答案 0 :(得分:2)
为此,您需要解析DOM,然后获取您要查找的ID。查看一个像http://simplehtmldom.sourceforge.net/manual.htm
这样的解析库将html文档送入解析器后,您可以调用类似的内容:
$html = str_get_html($page);
$element = $html->find('div[id=lga]');
echo $element->plaintext;
我认为,这将是您最快捷,最简单的解决方案。
答案 1 :(得分:2)
使用内置DOM方法:
<?php
$page = file_get_contents("http://www.google.com");
$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML($page);
libxml_use_internal_errors(false);
$domx = new DOMXPath($domd);
$lga = $domx->query("//*[@id='lga']")->item(0);
$domd2 = new DOMDocument();
$domd2->appendChild($domd2->importNode($lga, true));
echo $domd2->saveHTML();