Autor | Zpráva | ||
---|---|---|---|
Timy Profil |
#1 · Zasláno: 8. 1. 2009, 23:24:38
Používám PHP: DOM a nevím jak docílit toho, abych z HTML stránky odstranil určitý uzel. Mám tento kód:
private function removeHTML($xpath) { $dom = new DOMDocument(); $dom->loadHTML($this->HTML); $xpathObject = new DOMXPath($dom); $nod = $xpathObject->query($xpath)->item(0); $dom->removeChild($nod); } Při každé aplikaci mi to vyhodí následující chybu: Fatal error: Uncaught exception 'DOMException' with message 'Not Found Error' in C:\xampp\htdocs\webreader\WebSegment.php:126 Stack trace: #0 C:\xampp\htdocs\webreader\WebSegment.php(126): DOMNode->removeChild(Object(DOMElement)) #1 C:\xampp\htdocs\webreader\WebSegment.php(26): WebSegment->removeHTML('//h1') #2 C:\xampp\htdocs\webreader\index.php(28): Přičemž ten element $nod je nalezený v pořádku, když si ho třeba nechám vypsat, tak to žádnou chybu neháže, chybu to hodí až při aplikaci removeChild(). Používám to nějak špatně nebo kde je prosím chyba? |
||
Chamurappi Profil |
#2 · Zasláno: 8. 1. 2009, 23:30:29
Reaguji na Timyho:
Jestli ten DOM funguje stejně jako v JS, tak removeChild můžeš volat jen z rodiče uzlu, který chceš odstranit. Takže asi nějak takhle: $nod->parentNode->dom->removeChild($nod); |
||
Timy Profil |
#3 · Zasláno: 8. 1. 2009, 23:42:21
Chamurappi
Funguje, díky. |
||
Časová prodleva: 15 let
|
0