Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] znalezienie tekstu w zmiennej
Forum PHP.pl > Forum > Przedszkole
@rtur
  1. <tbody class='top'><tr><td>1</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=1'>tekst A1</a></span> - <span class='tr'><a href='?u=1'>tekst B1</a></span></div></td><td>5</td></tr><tr><td>2</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?u=2'>tekst A2</a></span> - <span class='tr'><a href='?u=2'>tekst B2</a></span></div></td><td>5</td></tr><tr><td>3</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=3'>tekst A3</a></span> - <span class='tr'><a href='?u=3'>tekst B3</a></span></div></td><td>5</td></tr><tr><td>4</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=4'>tekst A4</a></span> - <span class='tr'><a href='?u=4'>tekst B4</a></span></div></td><td>5</td></tr></tbody>


Mam taki kod jako $zmienna z którego chce pobrać tylko to co między <td> wyświetlić w postaci:
  1. 1|2|3|Tekst A1|Tekst B1|5
  2. 2|2|3|Tekst A2|Tekst B2|5
  3. 3|2|3|Tekst A3|Tekst B3|5
  4. 4|2|3|Tekst A4|Tekst B4|5

o ile za pomocą preg_match_all() z pierwszego <td> we wierszu potrafie wyciągnąć i wyświetlę zawartość to nie wiem jak wyciągnąć danę z reszty znaczników <td>, kod który mam i pobiera z pierwwszego <td> wygląda tak:
  1. preg_match_all('/<tr><td>(.*?)<\/td>'/si, $zmienna, $szukanyTekst);
  2. echo $szukanyTekst[1].'<br />';


Mogę prosić o podpowiedź co zrobić, abym osiągnął efekt na jakim mi zależy?
nospor
Poprostu wywal TR z wyrażenia
@rtur
jak wywale tr to mi nie zrobi się
  1. 1
  2. 2
  3. 3
  4. Tekst A1
  5. Tekst B1
  6. 5
  7. 2
  8. 2
  9. 3
  10. Tekst A2
  11. Tekst B2
  12. 5
  13. 3
  14. 2
  15. 3
  16. Tekst A3
  17. Tekst B3
  18. 5
  19. 4
  20. 2
  21. 3
  22. Tekst A4
  23. Tekst B4
  24. 5

?
nospor
No to chyba chciałeś miec wszystkie td to masz.
Teraz tylko lecisz co 5 i masz każdy rekord.
@rtur
Okej pokombinuje jakby mi nie szło to się jeszcze odezwę...

A jakby było np.
  1. <table><tr><td>tralalala</td></tr></table>
  2. <table><tbody class='top'><tr><td>1</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=1'>tekst A1</a></span> - <span class='tr'><a href='?u=1'>tekst B1</a></span></div></td><td>5</td></tr><tr><td>2</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?u=2'>tekst A2</a></span> - <span class='tr'><a href='?u=2'>tekst B2</a></span></div></td><td>5</td></tr><tr><td>3</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=3'>tekst A3</a></span> - <span class='tr'><a href='?u=3'>tekst B3</a></span></div></td><td>5</td></tr><tr><td>4</td><td>2</td><td>3</td><td><div class='wt'><span class='w'><a href='?w=4'>tekst A4</a></span> - <span class='tr'><a href='?u=4'>tekst B4</a></span></div></td><td>5</td></tr></tbody></table>

a mnie zależałoby tylko na tych co w <tbody class='top'> to najpierw:
  1. preg_match('/<tbody class=\'top\'>(.*?)<\/tbody>'/si, $zmienna, $szukanyTekst1);

a potem
  1. preg_match_all('/<td>(.*?)<\/td>'/si, $szukanyTekst1[1], $szukanyTekst2);


?

Chciałbym to zrobić najbardziej optymalnie bo muszę w ten sposób przejrzeć i wychwycić dane z około 3000 plików *.html
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.