Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyciąganie danych wyrażeniem regularnym
foxbond
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 12
Dołączył: 20.12.2009
Skąd: Siedlce

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


Chciałbym wyciągnąć id użytkowników jednak nie za bardzo mi to wychodzi (IMG:style_emoticons/default/tongue.gif)

Strona (część):
Cytat
<a href="profil/25199/valarius/">valarius</a>
</td><td>1766.62</td></tr>
<tr><td>18</td>
<td>
<a href="profil/24800/gucha1234/">gucha1234</a>
</td><td>1734.19</td></tr>
<tr><td>19</td>
<td>
<a href="profil/16494/czangul1992/">czangul1992</a>
</td><td>1338.79</td></tr>
<tr><td>20</td>
<td>
<strong>foxbond</strong>
<tr><td>21</td>
<td>
<a href="profil/13409/natusia555/">natusia555</a>
</td><td>1150.60</td></tr>
<tr><td>22</td>
<td>
<a href="profil/23666/arsonn11/">arsonn11</a>
</td><td>1146.85</td></tr>
<tr><td>23</td>

Liczby (18-23) NIGDY nie ulegają zmianie, zależy mi na rekordzie z liczbą 22

Nie mogę pokazać prób, ponieważ aktualnie nie mam dostępu do własnego komputera :E

Dodam tylko, że nie działa:
Kod
/<a href="profil\/([0-9]+)\/([a-zA-Z0-9]+)\/">([a-zA-Z0-9]+)<\/a>
<\/td><td>([0-9]+\.([0-9]+)<\/td><\/tr>
<tr><td>22<\/td>/

Kod
/<a href="profil\/([0-9]+)\/([a-zA-Z0-9]+)\/">([a-zA-Z0-9]+)<\/a>\r\n
<\/td><td>([0-9]+\.([0-9]+)<\/td><\/tr>\r\n
<tr><td>22<\/td>/

Kod
/<a href="profil\/([0-9]+)\/([a-zA-Z0-9]+)\/">([a-zA-Z0-9]+)<\/a>\n
<\/td><td>([0-9]+\.([0-9]+)<\/td><\/tr>\n
<tr><td>22<\/td>/

W tych przykładach mogą być literówki, chodzi mi, że nie działa "enter", "\r\n", "\n"

Problem występuje na zewnętrznym hostingu (000webhost.com), na localhoście działa pierwszy sposób


Z góry dzięki za pomoc.

Ten post edytował foxbond 16.04.2011, 11:22:56
Go to the top of the page
+Quote Post
Ulysess
post
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


tu masz przykład , przerób go na swoje potrzeby
  1. preg_match_all('#<tr id=".*" align="center">
  2. <td height="20">.*</td>
  3. <td><b><font color=".*">(.*)</font></b></td>
  4. <td><b>(.*)</b></td>
  5. <td>(.*)</td>
  6. </tr>#', $page, $matches);


dodam tylko że .* oznacza że w tym miejscu mogą wartości być różne
(.*) - z tego miejsca pobiera wartość
zmienna page zawiera ciąg znaków -> strone
matches jest tablica ktora preg match zwraca 1 wymiar to nr wiersza 2 wymiar to wartosc (w moim przykładzie 0-2)
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 - 23:15