从另一个页面获取 div 的元素 (PHP)
Posted
技术标签:
【中文标题】从另一个页面获取 div 的元素 (PHP)【英文标题】:Getting elements of a div from another page (PHP) 【发布时间】:2011-06-30 01:22:38 【问题描述】:所以我有第一页:
<div id="div1">This is text one</div>
<div id="div2">This is text two</div>
<div id="div3">This is text three</div>
现在我想获取 div 1 的元素,它会返回 This is text one
,我该怎么做?
【问题讨论】:
那么,您只想使用 php 从另一个页面抓取 div1 内的文本? 【参考方案1】:您可以在 PHP 中使用 DOMDocument:
<?php
$doc = new DomDocument;
// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->loadhtml(file_get_contents('http://google.com/bla.php'));
var_dump($doc->getElementById('div1'));
?>
【讨论】:
如果'div1'的内容本来是空的,被javascript加载了怎么办? @teuneboon 如果网页是由 javascript 动态生成的怎么办?这种情况下怎么办?【参考方案2】:$string = file_get_contents($url);
if (preg_match('/<div id="div1">([^<]*)<\/div>/', $string, $matches) > 0)
echo $matches[1]; //This is text one
【讨论】:
强烈建议不要使用正则表达式来解析 html。您可以为此使用 DomDocument DomDocument 不适合我,这个脚本节省了我的时间!我投票给了这位用户,因为他与我们分享了一个非常有用的 sn-p,谢谢!以上是关于从另一个页面获取 div 的元素 (PHP)的主要内容,如果未能解决你的问题,请参考以下文章