2017-05-01 6 views
0

Ich muss laden, ändern und einige Drittanbieter iframe auf meiner Webseite ausgeben. Wie vorgeschlagen, hatte ich die Zwischenseite erstellt, die einfach mit ihrem src-Attribut enthält.DOMxpath Query gibt nichts zurück

Der PHP-Code, der die Seite ausgibt, sieht wie folgt aus:

$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 

Und der Inhalt meiner iframe sieht ungefähr so ​​aus:

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

ich auch JS habe versucht zu deaktivieren, wenn zu sehen Dieses div wird dort durch den Front-End-Code platziert und ohne JS deaktiviert sieht die Struktur des Dokuments genau gleich aus.

+0

Sind Sie sicher, dass Sie diesen 'html' Inhalt haben? Weil Ihr Code funktioniert gut für oben .. –

+0

Ihr Code funktioniert überprüfen Sie diese https://eval.in/785036 –

+0

@SahilGulati Ich bin sicher, es ist, ist es seine Struktur sowieso ... Welche anderen Dinge könnte hier spielen? – RWS

Antwort

0

Die Antwort ist ziemlich einfach. Sie können das iframe Element crossdomain nicht mit PHP DOMDocument bearbeiten.