Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciecie z HTML
Forum PHP.pl > Forum > Przedszkole
rad11
Witam panowie potrzebuje wyciac z HTML`a pomiedzy <div class="feedbacksSummary roundCornerWhiteBG corAll5"> tabele:

  1. <div class="feedbacksSummary roundCornerWhiteBG corAll5">
  2. <table cellspacing="0">
  3. <thead>
  4. <tr>
  5. <td>&#1054;ценка</td>
  6. <td>&#1055;оследние <br>7 дней</td>
  7. <td>&#1055;оследние <br>30 дней</td>
  8. <td>&#1042;се</td>
  9. <td>&#1050;упил/Продал</td>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. <tr class="pos">
  14. <td class="rowName">&#1055;оложительные</td>
  15. <td>1</td>
  16. <td>2</td>
  17. <td>481</td>
  18. <td>3 / 478</td>
  19. </tr>
  20. <tr class="neu">
  21. <td class="rowName">&#1053;ейтральные</td>
  22. <td>0</td>
  23. <td>0</td>
  24. <td>1</td>
  25. <td>0 / 1</td>
  26.  
  27. </tr>
  28. <tr class="neg">
  29. <td class="rowName">&#1054;трицательные</td>
  30. <td>0</td>
  31. <td>0</td>
  32. <td>3</td>
  33. <td>0 / 3</td>
  34. </tr>
  35. </tbody>
  36. </table>
  37. </div>


Jakies pomysly jakie uzyc wyrazenie?
viking
http://simplehtmldom.sourceforge.net/
rad11
Wolalbym uzyc do tego albo dom document albo uzyc swojego jednego wyrazenia. Probowalem w ten sposob:

  1. preg_match_all("|<div class='feedbacksSummary roundCornerWhiteBG corAll5'>(.*)</div>|U",$html,$out, PREG_PATTERN_ORDER);


ale nie idzie
viking
A co jak np klasy będą miały inną kolejność? Masz jeszcze http://php.net/manual/en/book.simplexml.php
Generalnie masz XML, HTML nie operuj regexpami bo to się prosi o kłopoty.
patwoj98
Łap tu na 2 explode oparte:
  1. $zmienna = '<div class="feedbacksSummary roundCornerWhiteBG corAll5">
  2. <table cellspacing="0">
  3. <thead>
  4. <tr>
  5. <td>Оценка</td>
  6. <td>Последние <br>7 дней</td>
  7. <td>Последние <br>30 дней</td>
  8. <td>Все</td>
  9. <td>Купил/Продал</td>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. <tr class="pos">
  14. <td class="rowName">Положительные</td>
  15. <td>1</td>
  16. <td>2</td>
  17. <td>481</td>
  18. <td>3 / 478</td>
  19. </tr>
  20. <tr class="neu">
  21. <td class="rowName">Нейтральные</td>
  22. <td>0</td>
  23. <td>0</td>
  24. <td>1</td>
  25. <td>0 / 1</td>
  26.  
  27. </tr>
  28. <tr class="neg">
  29. <td class="rowName">Отрицательные</td>
  30. <td>0</td>
  31. <td>0</td>
  32. <td>3</td>
  33. <td>0 / 3</td>
  34. </tr>
  35. </tbody>
  36. </table>
  37. </div>';
  38.  
  39. $wynik = explode('<div class="feedbacksSummary roundCornerWhiteBG corAll5">',$zmienna);
  40. $koncowy = explode("</div>",$wynik[1]);
  41. echo $koncowy[0];
robertpiaty
Nie upieraj się przy wyrażeniach, bo ktoś Ci zrobi małą modyfikację html-a np. pomiędzy Twoim div-em a tabelą doda jeszcze jednego div-a i wszystko leży.
Spróbuj tego http://php.net/manual/en/domdocument.loadhtml.php a potem użyj xpath
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.