Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobranie informacji z html
matkuz
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.09.2013

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


Witam,

mam problem z podstawami :
  1. <tr>
  2. <td>Nazwa1</td>
  3. <td> &nbsp; </td>
  4. <td>150 zł</td>
  5. <td>/ godz</td>
  6. </tr>
  7. <tr>
  8. <td>Nazwa2</td>
  9. <td> &nbsp; </td>
  10. <td>150 zł</td>
  11. <td>/ godz</td>
  12. </tr>
  13. </table>


I teraz chce pobrać Cenę czyli trzeci TD (IMG:style_emoticons/default/smile.gif) Próbowałem to zrobić preg_match, najpierw get_file_content(do html) a potem preg_match ale tam mi znajduje wystąpienia danego wyrazu a mi chodzi o to co się znajduje za tym (IMG:style_emoticons/default/smile.gif)

Przydałoby się znaleźć po nazwie ten ,,tr", a potem pobrać cenę (IMG:style_emoticons/default/smile.gif) Ktoś ma pomysł jak szybko to zrobić?





Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Fred1485
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


Nie mógłbyś po stronie klienta zrobić?
Go to the top of the page
+Quote Post
patwoj98
post
Post #3





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Pobieraj tabelkę i explode. Kiedyś temat podobny był poruszany. Tak wiem, że można to zrobić lepiej, ale mój sposób niegdyś działał i dalej uważam, że jak coś działa w programowaniu to jest dobrze. Nie jest to najszybszy sposób (trochę trwa pobieranie za każdym razem i rozbijanie). Może u Ciebie będzie szybko.
Pobierasz stronę, wrzucasz w explode, pobierasz tylko zawartość jaka Cię interesuje.
Go to the top of the page
+Quote Post
matkuz
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.09.2013

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


właśnie, że nie i musi być w takiej formie (IMG:style_emoticons/default/smile.gif) Także pytanie pozostaje: jak pobrać tą wartość? Na pewno jakoś się da.
Go to the top of the page
+Quote Post
patwoj98
post
Post #5





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


file_get_contents
Go to the top of the page
+Quote Post
matkuz
post
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.09.2013

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


a nie da się tego zrobić po mojemu ? Musi się dać jakoś wyrażeniem regularnym znaleść to tr i z niego wyciągnąć td (IMG:style_emoticons/default/tongue.gif)

explode nie bardzo widzę, zresztą co ma w nim być '<tr>' ? i potem == przyrównywać? trochę bez sensu ;p
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


preg_match_all('/<td>\s*([\d,.]+)\s*zł<\/td>/, $string, $match);

Ten post edytował Pyton_000 20.10.2015, 21:25:50
Go to the top of the page
+Quote Post
matkuz
post
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.09.2013

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


Pyton_000 - dzięki - to właśnie sobie zrobiłem - pobrać same ceny umiem tylko chodzi mi o pobranie ,,tej jednej" ceny , szukam więc najpierw tej ,,Nazwa":

preg_match_all('/<tr>^.*(Nazwa1)+<\/tr>/',$file,$match2);

ale coś nie działa, chce pobrać ten tr gdzie jest Nazwa1, a potem pobiorę cenę tak jak to zrobił Pyton_000 (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


https://code.google.com/p/phpquery/
http://php.net/manual/en/simplexml.examples-basic.php
I kilka innych sposobów.
Go to the top of the page
+Quote Post
matkuz
post
Post #10





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.09.2013

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


dzięki za linki ale bardziej mi chodziło o poprawienie mojego wyrażenia regularnego (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


<tr>([^\/]*Nazwa1.*?)<\/tr>
Go to the top of the page
+Quote Post

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: 24.08.2025 - 04:20