2010-08-30 53 views
1
刪除節點

我無法從刪除的DomDocument節點(獲得除外):PHP:不能從的DomDocument

我的代碼:

<?php 
    function filterElements($htmlString) { 
     $doc = new DOMDocument(); 
     $doc->loadHTML($htmlString); 
     $nodes = $doc->getElementsByTagName('a'); 
     for ($i = 0; $i < $nodes->length; $i++) { 
      $node=$nodes->item($i) 
      if ($value->nodeValue == 'my_link') { 
      $doc->removeChild($node); 
      } 
     } 
    } 
    $htmlString = '<div>begin..</div>this tool<a name="my_link">Beo</a> great!<div>.end</div>'; 
    filterKeyLinksElements($htmlString); 
    ?> 

感謝, 優素福

+0

你會得到什麼異常? – Gumbo 2010-08-30 16:24:09

+5

'我的代碼' - 我懷疑這一點。解析錯誤,因爲缺少分號,不同的函數名稱,$ value而不是$ node ...此代碼從未執行過。 – VolkerK 2010-08-30 16:24:17

+0

[如何用DOMDocument刪除元素?](http://stackoverflow.com/questions/15272726/how-to-delete-element-with-domdocument) – Templar 2014-07-18 15:09:14

回答

11

第一關閉,你會得到什麼例外(這可能很重要)。

至於具體的問題,我的猜測是如下::

$node不是文檔的一個孩子。這是其父母的孩子。所以你需要這樣做:

$node->parentNode->removeChild($node);