Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyciąganie wartości ze znacznika html
renault12
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


Hej,

Nie wiem jak sobie poradzić z wyciągnięciem kilku cyfr które leżą w środku td. Chciałbym to zrobić za pomocą pętli .

Tak wygląda przykładowy fragment z którego muszę wyjąć liczby "4,50" i "6,00".

  1. <table cellpadding="0" cellspacing="0" border="0" width="100%">
  2.  
  3. <tr class="OT_R">
  4.  
  5.  
  6.  
  7.  
  8.  
  9. <td width="42%"> Brazil</td>
  10.  
  11. <td class="OT_Col_Odd_BR" width="8%"
  12.  
  13. onMouseOut="java script:this.className='OT_Col_Odd_BR'" onMouseOver="java script:this.className='OT_Col_Odd_BR_Over'"
  14.  
  15. id='3055004_5846735'
  16.  
  17. onclick="java script:f_addToBetslip(this,3055004,'4.50', 'Who will be the Champion?', '5846735', 759045, 'True', 1, 'Long term','Brazil')">
  18.  
  19. 4,50
  20.  
  21. </td>
  22.  
  23.  
  24.  
  25. <td width="42%"> Argentina</td>
  26.  
  27. <td class="OT_Col_Odd" width="8%"
  28.  
  29. onMouseOut="java script:this.className='OT_Col_Odd'" onMouseOver="java script:this.className='OT_Col_Odd_Over'"
  30.  
  31. id='3055004_5846736'
  32.  
  33. onclick="java script:f_addToBetslip(this,3055004,'6.00', 'Who will be the Champion?', '5846736', 759045, 'True', 1, 'Long term','Argentina')">
  34.  
  35. 6,00
  36.  
  37. </td>
  38.  
  39.  
  40.  
  41. </tr></table>


Wiem że dałoby się to zrobić sposobem wycięcia naprzyklad po znaku nr. 543 itp. ale zależy mi na tym żeby to była uniwersalna formuła.

Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
lobopol
post
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Jeżeli jest to regularny układ to można pregmatchem, jeżeli nie to np. http://querypath.org/content/documentation lub http://code.google.com/p/phpquery/
Go to the top of the page
+Quote Post
renault12
post
Post #3





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


a nie ma innego wyjścia ? jakby naprzykład wyciąć ciąg od "<td ..... " do "... >" wtedy zostawalby wlasnie ta wartosc , tylko nie wiem jak uformować taką formułkę :/
Go to the top of the page
+Quote Post
lobopol
post
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Są inne rozwiązania, ale znacznie gorsze. Z preg_match_all to w gruncie rzeczy jedna linijka
Go to the top of the page
+Quote Post
renault12
post
Post #5





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


to zapodaj jakis glebszy rozkmin bo nnic mi nie przychodzi na mysl ;d
Go to the top of the page
+Quote Post
lobopol
post
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


No nie napiszę ci rozwiązania nie od tego jest przedszkole, możesz sobie tu popróbować http://regex.larsolavtorvik.com/
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #7





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


DOM:Document.

  1. $trList = $dom->getElementsByTagName('table')->item(0)->getElementsByTagName('tr');
  2. for ( $i = 0; $i < $trList->length; $i++ ) {
  3. $result = $trList->item($i)->getElementsByTagName('td')>item(1)->nodeValue;
  4. }
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: 23.08.2025 - 06:42