Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP leikkaaminen

Sivun loppuun

kayttaja-3842 [09.10.2006 18:22:02]

#

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.

php-Niko [09.10.2006 18:24:36]

#

öö.. jos tuolta et valmista löydä, niin sulla voi olla isokin ongelma.

tsuriga [09.10.2006 18:26:34]

#

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.

kayttaja-3842 [09.10.2006 18:47:42]

#

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..

ajv [09.10.2006 19:13:17]

#

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.php
https://www.php.net/manual/en/function.substr.php
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

kayttaja-3842 [09.10.2006 19:51:44]

#

Miten pystyn etsimään strpos seuraavan </table> ?

tsuriga [09.10.2006 19:53:28]

#

https://www.ohjelmointiputka.net/hak/?kieli=PHP­&nimi=strpos

kayttaja-3842 [09.10.2006 20:08:34]

#

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ä..

tsuriga [09.10.2006 20:17:42]

#

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.

kayttaja-3842 [09.10.2006 20:22:56]

#

Niin siis eli mun pitää etsii komennolla? strpos($tieto,"</table>",2); kun tuo löytää 2 </table> ?

tsuriga [09.10.2006 20:25:43]

#

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 --".

Blaze [09.10.2006 20:28:10]

#

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

kayttaja-3842 [09.10.2006 23:03:21]

#

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ää.

Blaze [09.10.2006 23:28:30]

#

Senhän takia haluatkin lukea ne kaikki johonkin taulukkoon, jota voi sitten sorttailla ja kelata läpi miten tahtoo.


Sivun alkuun

Vastaus

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

Tietoa sivustosta