Запрос 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 структура документа выглядит точно так же.


person RWS    schedule 01.05.2017    source источник
comment
Вы уверены, что у вас есть этот html контент? Потому что ваш код отлично работает для выше..   -  person Sahil Gulati    schedule 01.05.2017
comment
Ваш код работает, проверьте этот eval.in/785036   -  person Sahil Gulati    schedule 01.05.2017
comment
@SahilGulati Я уверен, что это так, во всяком случае, это его структура ... Какие еще вещи могут здесь играть?   -  person RWS    schedule 01.05.2017
comment
Можете ли вы поделиться своим полным HTML содержанием, потому что приведенный выше код отлично работает здесь eval.in/785036   -  person Sahil Gulati    schedule 01.05.2017


Ответы (1)


Ответ довольно прост. Вы НЕ МОЖЕТЕ манипулировать междоменным элементом iframe, используя PHP DOMDocument.

person RWS    schedule 01.05.2017