Voisiko joku näyttää miten pysytn saamaan toisesta sivusta vain tietyn datan? Eli pitäis saada siepattua tästä sivuta http://transamrit.net/stats/hotbox.html toiseen sivuun kohta
"These didn't make it to the top:" käyttäjä tiedot.
öö.. jos tuolta et valmista löydä, niin sulla voi olla isokin ongelma.
Ja toki sulla on lupa tuohon. file_get_contentsilla haet sivun muuttujaan, strposilla etsit "These didn't make it to the top:", etsit strposilla sitä indeksiä seuraavan </tablen>, substr:llä otat tuon tekstit siltä väliltä, striptagsilla hiivaat tagit pois ja siinäpä alkaa olla jo melko nätisti niitä pelkkiä nimiä. Siitä sitten sievistelet str_replacella.
Et pystyis antaa pientä esimerkin makua koodilla? Itse en ole koskaan käyttänyt noita komentoja ja voisit samalla näyttää miten niitä käytetään..
Oma-aloitteisuutta, oma-aloitteisuutta. Manuaali kertoo kaiken tarvittavan:
https://www.php.net/manual/en/function.file-get-contents.php
https://www.php.net/manual/en/function.strpos.
https://www.php.net/manual/en/function.substr.
https://www.php.net/manual/en/function.strip-tags.php
Ja logiikan tsuriga jo kertoikin.
Niin ja Ohjelmointiputkan Hakemistostakin nuo löytyy jopa suomeksi:
https://www.ohjelmointiputka.net/hak/?kieli=PHP
Miten pystyn etsimään strpos seuraavan </table> ?
niin siis jos mulla on koodi esim.
$tieto = " <table> </table> <table class="vari"> //Jatkaako toinen strpos tähän </table>:een? </table>"; //Nytten etsitään table strpos($tieto,'<table class="vari">'); //Nytten tablen loppu strpos($tieto,"</table>");
Eli etsiikö tuo toinen tuon ekan strpos löytämän tablen lopun?
Eli tätä olen kokoajan yrittänyt kysyä..
Ei vaan kuten hakemistossa luki, sinun tulee käyttää strposin kolmatta parametria aloituskohta
. Sitä paitsi, olisithan voinut kokeilla koodin ajamista parsein läpi ja todeta saman.
Niin siis eli mun pitää etsii komennolla? strpos($tieto,"</table>",2); kun tuo löytää 2 </table> ?
Testaa herranen aika välillä itse noita komentoja.
Hakemisto kirjoitti:
Haku aloitetaan aloituskohdasta tai merkkijonon alusta, jos aloituskohtaa ei ole annettu
Eli aloituskohta on merkkijonon indeksi. Katso php.netin manuaalista valmiit esimerkit, kuinka tuo kolmas parametri vaikuttaa asiaan.
Ps. Tuosta muuten puuttuu hakemistossa pilkku - "--, tai --".
Ei, vaan sun pitää aloittaa etsiminen ensimmäisestä </table>:sta. Manuaalista: "The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the beginning of haystack."
Edit: pah, hidas
Siis kai te tajuatte sen ,että käyttäjien tiedot muuttuu, eli en voi suoraan etsiä tiettyä dataa esim nick(1), koska nickin arvo muuttuu ja se voi olla huomenna vaikka nick(5) ja sitten koodi ei toimi enää.
Senhän takia haluatkin lukea ne kaikki johonkin taulukkoon, jota voi sitten sorttailla ja kelata läpi miten tahtoo.
Aihe on jo aika vanha, joten et voi enää vastata siihen.