Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak wyciąć DIV ze stringu :/
Forum PHP.pl > Forum > Przedszkole
ahold
Witajcie,

Od pewnego czasu bawię się Curlem i swoim Panelem administracyjnym... dążę do usunięcia niektórych elementów i zastąpienia swoimi.

Załóżmy że mam taki kod:

  1. <div id="main">
  2. <div id="top">
  3. <div id="left">
  4. </div>
  5. <div id="right">
  6. </div>
  7. <div id="srodek">
  8. </div>
  9. <div id="dol">
  10. </div>
  11. </div>
  12.  
  13. </div>


Chcę usunąć z niego div id=top... całkowicie skasować, wraz z zawartością...

Nie wiem jak się za to zabrać sad.gif

Jakiś pomysł mający na celu ucięcie względem <div="top"> a </div> nie wypali, ponieważ w tym divie otwiera się kolejny div... więc powyższa metoda ucieła by do końca drugiego diva (zakończenia </div> ale tego wewnętrznego!...

I tu zaczynają się schody, jak to zrobić...
Może ktoś zna nazwę gotowej funkcji ?
Larges
masz stałą liczbę kolejnych div-ow w tym div-ie ?
ahold
Nie smile.gif

I tu zaczynają się schody sad.gif
erix
Cytat
Jakiś pomysł mający na celu ucięcie względem <div="top"> a </div> nie wypali, ponieważ w tym divie otwiera się kolejny div... więc powyższa metoda ucieła by do końca drugiego diva (zakończenia </div> ale tego wewnętrznego!...

Hmm, podobny problem jest w przypadku parsowania bbcode. Poszukaj takowych, znajdziesz parę metod bazujących na preg_replace_callback.
ahold


  1. $input = '
  2. <html>
  3. <body>
  4. <div id="pp">
  5. <div id="top">to skasowac </div>
  6. </div>
  7. To zostawić
  8. </body>
  9. </html>
  10. ';
  11.  
  12.  
  13.  
  14.  
  15. $doc = new DOMDocument();
  16. $doc->loadHTML($input);
  17. $element = $doc->getElementById('top');
  18. $element->parentNode->removeChild($element);
  19. $html = $doc->saveHTML();
  20. print($html);


  1. <br />
  2. <b>Fatal error</b>: Call to a member function removeChild() on a non-object in <b>/xxxest3.php</b> on line <b>20</b><br />


Ktoś ma jakiś pomysł czemu DOM nie kasuje go questionmark.gif
erix
Cytat
Returns the parent of the node ()

domnode DomNode->parent_node ( )

...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.