Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: sanojen määrä tiedostossa

JanKoro [29.08.2005 08:32:58]

#

$file = "./enkat/{$peli}.txt";
$tiedosto = fopen($file, "rw");
$sisalto = file_get_contents($tiedosto);
fclose($tiedosto);

toi {$peli}-muuttuja on sit määrätty aikasemmassa vaiheessa,
toihan lukee ton txt-tiedoston muuttujaan $sisalto, mutta millä mä katson monta sanaa tossa tiedostossa on?
ajatukseni on sitten katsoa for ja if -lauseilla sitten että onko siellä tiettyä sanaa.

for ($sana = 0; $sana = $yht; $sana++) {
if($sana == "tietty sana") {

}
}

Entäs onko funktiota jolla katson monta lausetta tiedostossa on? ajatukseni on poistaa lause jossa "tietty sana" on. että millä poistettaan lause tiedostosta?

leftover [29.08.2005 09:02:41]

#

<?php
$sanat = count(explode(" ", $sisalto);
$lauseet = count(preg_split("/\.|\!|\?/", $sisalto);
// Jälkimmäisestä ei ole varmuutta mutta ainakin melkein oikein
?>

JanKoro [29.08.2005 09:39:30]

#

olen saanut ton jo aika hyvin toimimaan, mutta entäs toi lauseen(tai no oikeestaan rivin) poisto? eli tarvitsen tietää monesko rivi on for-lauseessa menossa? tai sit pystyykö ottamaan tiedostosta sanan, jonka sit korvaa toisella sanalla? rivillä on aina kolme sanaa että senhän pystys jotenkin laskemaan siitä, varmaankin?

leftover [29.08.2005 09:58:28]

#

Sanan korvaaminen toisella sanalla onnistuu str_replace (joka muuten nielee myös arrayta), ja sanojen laskeminen riviltä onnistuu soveltamalla ylläolevaa vinkkiä. Kun avaat tiedoston filen avulla, saat tiedoston sisällön taulukkona alkio => rivi. Kun olet for-loopin sisällä, saat selville rivin katsomalla mikä on $sana+1 (jos siis käytetään ensimmäisen viestisi for-looppia).

Vastaus

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

Tietoa sivustosta