Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Skripti ei enää hae

Short Php [06.09.2007 16:48:17]

#

Ao. scriptin pitäisi hakea runescapesta taidot, mutta uudistuksen jälkeen se ei ole enää toiminut. Voisiko joku valaista asiaa?

        $source = preg_replace("/(\n|\r)/", "", file_get_contents( 'http://hiscore.runescape.com/lang/en/aff/runescape/hiscorepersonal.ws?user1=' . urlencode($name)));

        preg_match_all("/<tr><td align\=\"right\"><img(.*?)><\/td><td align\=\"left\"><span style\=\"font-weight: bold;\">(.*?)<\/span><\/a><\/td>(.*?)<\/tr>/", $source, $taul);

Antti Laaksonen [06.09.2007 17:35:17]

#

Tuollaiset skriptit luottavat, että sivu, josta tiedot noudetaan, on tarkalleen tietynlainen. Sitten jos sivun koodia muutetaan vähänkin, skripti ei enää toimi. Muuta preg_match_all-funktion sisällä olevaa HTML-koodia niin, että se (rivinvaihtoja lukuun ottamatta) vastaa uuden sivun koodia. Näköjään sivusta poimitaan erikseen kolme kohtaa, jotka on merkitty (.*?).

Short Php [06.09.2007 18:29:32]

#

Hmm. Yritin kylläkin muuttaa scriptiä muttei silti näytä toimivan.
Laitan alle vielä runescapen sivulla uudistuksen jälkeisen lähdekoodin jos joku viitsisi tuon pohjalta tehdä valmiin preg_matchin.

<tr>
<td align="right">
<img class="miniimg" src="http://www.runescape.com/img/hiscores/skill_icon_attack1.gif">
</td>
<td align="left">
<a href="overall.ws?table=1&user=larryr">
<span style="font-weight: bold;">
Attack
</span>
</a>
</td>
<td align="right">704,470</td>
<td align="right">66</td>
<td align="right">544,864</td>
</tr>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta