Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XPath]
Forum PHP.pl > Forum > Przedszkole
jimmix
Witam smile.gif

Chciałbym wyciąć fragment html zawarty w div o id='wykaz' i zapisać go bez modyfikacji w zmiennej. Wyszukuję ten fragment kodem jak niżej

  1. //$subject zawiera ciąg znaków źródłowego html
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTML($subject);
  5. $xpath = new DOMXpath($doc);
  6. $elements = $xpath->query("//@wykaz/*");
  7. echo $elements->saveHTML();


Jak mogę wyciągnąć wyniki wyszukiwania po użyciu xpath->query jako ciąg html? bo to co używam
Niestety wypisuje mi że nie istnieje metoda saveHTML w obiekcie $elements,
  1. Call to undefined method DOMNodeList::saveHTML()

Czyli gdzie jej szukać i jak wyciągnąć ten string html? smile.gif
Lombi
  1. $str='<div id="wykaz">qwe1</div><div id="wykaz">qwe1</div><div id="wykaz">qwe3</div>';
  2. $doc=new DOMDocument();
  3. $doc->preserveWhiteSpace=false;
  4. $doc->loadHTML($str);
  5. $xpath=new DOMXpath($doc);
  6. $elements=$xpath->query("//div[@id='wykaz']");
  7. foreach($elements as $v)
  8. {
  9. $tmp[]=$v->nodeValue;
  10. }
  11. print_r($tmp);
jimmix
Dzięki Lombi za poprawienie zapytania xpath ale jak to zrobić żeby otrzymać czysty kod html:

np. źródło
  1. jakiś html poprzedzający
  2. <div id="wykaz">qwe1</div><div id="wykaz">qwe1</div><div id="wykaz">qwe3</div>
  3. tutaj dalsza część html


i wynik jako string:
  1. <div id="wykaz">qwe1</div><div id="wykaz">qwe1</div><div id="wykaz">qwe3</div>
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.