Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DOMDocument - childNodes łączy wszystkie paragrafy 1 jeden #text node, Jak policzyć wszystkie dzieci w danym elemencie?
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Mam taki oto kodzik:
  1. libxml_use_internal_errors(true);
  2. $html = '<html><head><meta charset="UTF-8"/></head><body><div id="CONTAINER">'.content.'</div></body></html>';
  3. $doc = new DOMDocument('1.0', 'utf-8');
  4. $doc->loadHTML($html);
  5. $root = $doc->getElementById('CONTAINER');
  6. $childNodes = $root->childNodes;


I teraz w zmiennej $childNodes mam listę dzieci elementu o id 'CONTAINER'. W tej treści są elementy <p>, <blockquote>, <img> i <figure>. W sumie tych elementów jest jakieś 30, ale wg pętli foreach, jest ich tylko 19. Ponieważ DOMDocument twierdzi, że każdy <p> który znajdzie jeden obok drugiego, tworzy jako element #text i teraz, jak mam 5x<p> obok siebie w dokumencie, to w pętli mam je wszystkie jako JEDEN element #text.

Jak to rozwiązać, by faktycznie były to elementy pojedyncze, a nie jak teraz, pogrupowane po typie (jeśli leżą obok siebie w dokumencie)? Potrzebuje dokładnie policzyć elementy, ponieważ muszę w środek wrzucić dodatkowy element, a jak mi oblicza w ten sposób to nie mam prawidłowej ilości elementów.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 11:40