Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][XPath], Wycięcie i zapisanie fragmentu html zawartego pomiędzy tagami
jimmix
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 26.04.2009

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Lombi
post
Post #2





Grupa: Zarejestrowani
Postów: 237
Pomógł: 11
Dołączył: 12.04.2006

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


  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);


--------------------
znowu pomyliłem dwukropek ze średnikiem i starciłem pół dnia na szukanie błędu :)
Go to the top of the page
+Quote Post
jimmix
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 26.04.2009

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


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>
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 10:14