DOMxpath查询不返回任何内容

时间:2017-05-01 11:38:27

标签: php iframe domxpath

我需要在我的网页上加载,修改和输出第三方iframe。根据建议,我创建了一个仅包含<iframe>及其src属性的中间页面。

输出页面的php代码如下所示:

$iframe->loadHTML(file_get_contents("http://example.com/iframe_page.php")); //creating DOM object, see htm content below
$xpathObj= new DOMXPath($iframe);//creating DOMXPath object
foreach ($xpathObj->query('//div[@id="specific_id"]') as $node){ //this query returns nothing
    $node->parentNode->removeChild($node);//i need to remove the div with that id, but there is nothing to remove
}
echo $iframe->saveHTML($iframe->documentElement);//the iframe output works fine

iframe的内容看起来像这样:

<html>
    <head>
    </head>
    <body>
        <div>
            <div>
                <div id="specific_id">
                </div>
            </div>
        </div>
    </body>
</html>

我甚至尝试过禁用JS来查看这个div是否被前端代码放在那里,而且禁用了JS的nope文档的结构看起来完全一样。

1 个答案:

答案 0 :(得分:0)

答案很简单。您无法使用PHP DOMDocument操纵iframe元素交叉域。