php fread ja tallennus ??
Alueen säännöt
1.1.2009 loppuu virallinen tuki phpBB2 versiolle. http://www.phpbbsuomi.com/viewtopic.php?f=1&t=2189
Konvertoiminen phpBB3 versioon on suositeltavaa.
1.1.2009 loppuu virallinen tuki phpBB2 versiolle. http://www.phpbbsuomi.com/viewtopic.php?f=1&t=2189
Konvertoiminen phpBB3 versioon on suositeltavaa.
Osaisko joku auttaa aloittelevaa php käyttäjää, että miten mä saan tallennettua tietiltä www-sivuilta aina tietyt tekstit esim .txt-tiedostoon helposti? Mulla on parikymmentä sivustoa, josta mun pitää päivittäin käydä pomimassa tietyt tiedot ja käsittääkseni se onnistuu php:llä suhteellisen helposti??
file_get_contents lataa sivun suoraan tekstimuuttujaksi. Tämän jälkeen sivun tietoja täytyy parsia. Tämä puolestaan onnistuu helpoiten tutkimalla ladatun sivun koodista, millä hakusanalla saa rajattua halutun tiedon. Sivu voi olla vaikka tällainen:
Tällöin ensimmäinen pois karsittava kohta on...
<table>:n jälkeisen <tr>:n haluamme säilyttää, sillä haluamme mahdollisimman identtiset tiedot käsittelyn helpottamiseksi. Siten etsimme tuon yllä olevan tekstin (haussa täytyy olla mahd. paljon ylimääräistä ja varmasti muuttumatonta tietoa, ts. tageja), ja poistamme sen ja kaiken sitä edeltävän tiedon, tämä onnistuu esimerkiksi substr:llä.
Tämän jälkeen meidän täytyy poistaa lopustakin ei-tarpeellinen tieto. Tässä tapauksessa haku on helppo, yksinkertaisesti etsitään vain </table> ja poistetaan sen jälkeinen tieto. Tämän jälkeen meillä on jäljellä muodollisesti samanlaista dataa, joka on helppo jakaa osiin. str_replace:lla kannattaa tosin poistaa mm. rivinvaihdot sekä kaikki tarpeeton roska (jota ei tuossa yllä olevassa esimerkissä niin kauheasti ole). Tarkoituksena on, että muunnosten jälkeen on jäljellä parsimiskelpoista tietoa, joka voi olla esimerkiksi tällaisessa muodossa:
Tämän[[[]]]minä[[[]]]haluan[[[]]]talteen
Rivejä[[[]]]on[[[]]]tosiaan[[[]]]useita
Eli tässä on vaikka lisätty vielä rivinvaihdot jokaisen </td></tr>:n tilalle, poistettu <tr><td> -osuus ja sen jälkeen korvattu </td><td> muotoon [[[]]]. Sitten onkin jo helppo homma explodella hajoittaa tekstit ensin riveittäin arrayhyn ja sitten nämä rivit vielä explodettaa tuolla [[[]]]-pätkällä. Sitten voikin jo alkaa tallennella juttuja aivan minne haluaa.
Koodi: Valitse kaikki
<html><head><title>uutisia</title></head><body>
<h1>Sivukivaa</h1>
<table><tr><td>
<p>Kaikkea epäkivaa tarpeetonta.</p>
</td></tr></table>
<table><tr>
<td>Tämän</td>
<td>minä</td>
<td>haluan</td>
<td>talteen</td>
</tr><tr>
<td>Rivejä</td>
<td>on</td>
<td>tosiaan</td>
<td>useita</td>
</tr></table>
<table><tr><td>
<p>Tämä minä en halua</p>
</td></tr></table>
</body></html>
Koodi: Valitse kaikki
</td></tr></table>
<table>
Tämän jälkeen meidän täytyy poistaa lopustakin ei-tarpeellinen tieto. Tässä tapauksessa haku on helppo, yksinkertaisesti etsitään vain </table> ja poistetaan sen jälkeinen tieto. Tämän jälkeen meillä on jäljellä muodollisesti samanlaista dataa, joka on helppo jakaa osiin. str_replace:lla kannattaa tosin poistaa mm. rivinvaihdot sekä kaikki tarpeeton roska (jota ei tuossa yllä olevassa esimerkissä niin kauheasti ole). Tarkoituksena on, että muunnosten jälkeen on jäljellä parsimiskelpoista tietoa, joka voi olla esimerkiksi tällaisessa muodossa:
Tämän[[[]]]minä[[[]]]haluan[[[]]]talteen
Rivejä[[[]]]on[[[]]]tosiaan[[[]]]useita
Eli tässä on vaikka lisätty vielä rivinvaihdot jokaisen </td></tr>:n tilalle, poistettu <tr><td> -osuus ja sen jälkeen korvattu </td><td> muotoon [[[]]]. Sitten onkin jo helppo homma explodella hajoittaa tekstit ensin riveittäin arrayhyn ja sitten nämä rivit vielä explodettaa tuolla [[[]]]-pätkällä. Sitten voikin jo alkaa tallennella juttuja aivan minne haluaa.
[ Vesa Piittinen - phpBB MODini ]
Paikallaolijat
Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 162 vierailijaa