Tilannekuvaus: On olemassa keskustelupalsta, jossa henkilö x kirjoittaa päiväkirjaa. Muut keskustelupalstan käyttäjät voivat kommentoida henkilön x päiväkirjaa. Nyt henkilö x on avannut omat kotisivut, ja haluaa tehdä omille kotisivuilleen mirrorin kyseisestä päiväkirjastaan. Henkilö x ei halua kuitenkaan siirtää kuin omat kirjoituksensa, eli muiden kommentit pitäisi jättää pois.
Avainsana on käsittääkseni file_get_contents, mutta tarkempia ohjeita kaivattaisiin.
Kyseisellä keskustelupalstalla topicin osoitteeseen vaikuttaa ainoastaan sivutus. Osoite on muotoa palsta.net/index.php?showtopic=jokuluku (jokuluku on luonnollisesti topic-kohtainen). Osoitteen perään lisätään sivutuksen mukaan &st=0, &st=15, &st=30 jne...
file_get_contents
+ stripos
+ substr
, eli etsit hakemastasi tiedostosta esimerkiksi jotain uniikkia sieltä lähdekoodeista ja käytät tätä paikkatietoa erotellessasi henkilön viestiä.
Esimerkkilähdekoodi
<table> <tr><td>Lähettäjä</td><td>Viesti</td></tr> <tr><td>Henkilö x</td><td>Päiväkirjaviesti</td></tr> ... </table>
Ja tässä tapauksessa etsisit siis esimerkiksi stripos
-funktiolla tiedostosta merkkijonoa '<tr><td>Henkilö x</td><tr>', jonka jälkeen käyttäisit löytämääsi indeksiä substr
-funktiossa (huomaa, että stripos
palauttaa merkkijonon alkukohdan, joten siihen tulee lisätä sopiva luku, jotta leikkaus alkaa halutusta kohtaa). Lopetuskohdan saat, kun haet taas stripos
-funktiolla viestin aloituskohdan jälkeen ilmenevää merkkijonoa '</td></tr>' (kts. stripos
parametrit, $offset
). Joudut varmaankin koettamaan useampaan kertaan, että saat merkkijonoindeksit kohdalleen - itse en jaksa aina edes miettiä kun trial and error
-taktiikalla tuntuu pääsevän helpommalla. Kannattaa varmaankin ennen tiedostoihin kirjoittelua tulostaa haettu data niin saat sen nopeammin esille ja huomaat jos jokin on pielessä.
Näillähän se tuntuu menevän suht kivuttomasti, kiitoksia!
Aihe on jo aika vanha, joten et voi enää vastata siihen.