2017-02-23 8 views
0

apiは私にHTMLコードを返します(本文の一部だけで、フルHTMLではありません)。DOMDocument-> saveHTMLが動作していません

私はforeachループで私は古い値と新しい値が表示されますが、私はsaveHTMLでそれを保存しようとすると、その後、apiから返された完全なhtmlブロックをダンプする属性を取得し、パス。

$page = json_decode($page); 
    $page = (array) $page->rows; 
    $page = ($page[0]->_->content); 


    $dom = new \DOMDocument(); 
    $dom->loadHTML($page); 
    $tag = $dom->getElementsByTagName('img'); 
    foreach($tag as $t) 
    { 
     echo $t->getAttribute('src').'<br'>; //showing old src 
     $t->setAttribute('src', 'bla'); 
     echo $t->getAttribute('src').'<br'>; //showing new src 
    } 

    $dom->saveHTML(); 
    var_dump($page); //nothing is changed 

答えて

1

私の友人これは動作しません。

あなたはそうsaveHTML()の結果に編集したHTMLを持っている必要があります。

$editedHtml = $dom->saveHTML() 
var_dump($editedHtml); 

今すぐあなたの変更HTMLが表示されるはずです。

説明$pageは、$domオブジェクトとはまったく異なるオブジェクトです。

乾杯!

関連する問題