FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hejsan!
Jag behöver hjälp med en för mig ganska komplicerad grej. För att kunna samla in information om uppladdare/nedladdare till min torrentsida vill jag söka igenom andra sidors htmlkod och hitta resultatet. Till att börja med gör jag såhär: <?php $mininova = include('http://www.mininova.org/get/404337'); ?> För att läsa in sidan jag vill åt. (Är detta sättet verkligen smart? den är ju på 8kb.) Nu kommer förhoppningsvis $mininova att innehålla källkoden till hela hemsidan. Där finns ju informationen jag vill ha. Det väsentliga i hela källkoden är de siffrorna vi ser i koden nedan. <tr><td>Seeds:</td><td><div class="g">13</div></td></tr> <tr><td>Leechers:</td><td><div class="b">2</div></td></tr> Nu behöver jag hjälp med en funktion som kan plocka ut siffrorna! Eventuellt skulle man även kunna göra detta med något slags javascript! Tack på förhand! //Petter |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
Använd reguljära uttryck (eng. regular expressions). Se: php.net/preg_match.
(I ditt fall kanske: #<tr><td>Seeds:</td><td><div class="g">(.*?)</div></td></tr># resp. #<tr><td>Leechers:</td><td><div class="b">(.*?)</div></td></tr>#)
__________________
www.ip2nation.com (ip till land) |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Klarade millennium-buggen
|
Kod:
preg_match('/<tr><td>Seeds:</td><td><div class="g">(\d+)<\/div><\/td><\/tr>/',$mininova,$matches); echo $matches[0]; Edit: uj, dubbelpost med Per. |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Ok! Tackar för svar! Jag har dock lite problem med att läsa in en hel hemsida i en sträng! Det vill helt enkelt inte fungera.
|
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
$mininova = implode('', file(http://www.mininova.org/get/404337)); Edit: Det kan även vara problem med radbrytningar.... allt måste vara rätt när du söker i texten. |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Jepp! Nu funkar det=) Synd bara att mininova har en responstid på typ 10 minuter...
|
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Klarade millennium-buggen
|
Lägg upp ditt phpscript som ett cronjobb i bakgrunden och skriv in datat du efterfrågar i en databas som du sedan hämtar det ifrån. Du måste säkert inte hämta från mininova varje gång du skall visa datat.
|
||
![]() |
![]() |
Svara |
|
|