2017-02-23 71 views
0

api返回幾個html代碼(只是body的一部分,不是完整的html),我想和其他人一起更改所有圖片src。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對象無關的完全不同的對象。

乾杯!