Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Xpath
omi
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.11.2017

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


Witam!

Mam tabele i są tam w kolumnie np. takie wyrazy: slowo , slowo jeden, slowo dwa. Jak mam taki kod:
  1. ('//table//td[contains(text(),"slowo")]/ancestor::tr/td[2]');
to pobierają się wartości z kolumny dla wszystkich tych wyrazów. Czy da się tu pominąć slowo jeden i slowo dwa, żeby kod pobierał tylko wartości dla wyrazu: slowo?

Ten post edytował omi 21.02.2018, 15:35:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. $html="<table>
  2. <tbody>
  3. <tr>
  4. <td>&nbsp;</td>
  5. <td>ddd</td>
  6. <td>slowo </td>
  7. </tr>
  8. <tr>
  9. <td>&nbsp;</td>
  10. <td>&nbsp;</td>
  11. <td>&nbsp;</td>
  12. </tr>
  13. <tr>
  14. <td>slowo </td>
  15. <td>abc</td>
  16. <td>&nbsp;</td>
  17. </tr>
  18. </tbody>
  19. </table>";
  20.  
  21. $dom = new DOMDocument;
  22. libxml_use_internal_errors(true);
  23. $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  24. libxml_clear_errors();
  25. $dom->encoding = 'UTF-8';
  26.  
  27. $xpath = new DOMXPath($dom);
  28.  
  29. $tds = $xpath->query('//table//td[text()="slowo "]/ancestor::tr/td[2]');
  30. foreach($tds as $td){
  31. echo $td->nodeValue;
  32. }

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: 7.10.2025 - 23:55