Forum » Programiranje » PHP problem z branjem iz datoteke.
PHP problem z branjem iz datoteke.
novi ::
PHP problem z branjem iz datoteke.
V tekstovni datoteki imam po stolpcih razdeljene naslove.
Vse skupaj preberem in vržem v array z ukazom:
$index = file('pododdatotke');
Problem nastane, ker mi pri vsakem zapisu naredi na koncu še presledek v smislu '\n'. in ne morem primerjati te vrednosti z iskano npr.:
V datoteki imam:
Priv
Drugi
Četrti
…
In če postavim pogoj:
If ($index[0] == 'Prvi') mi tega pogoja ne izpolni saj prebere 'prvi ' in z dodatnim znakom, ki bi moral biti presledek ali \n.
Kako odstranit ta preblem? S $idex1[0] = str_replace('\n', '', $index[0] ) ne gre??
Upam, da je zadeva ni nerešljiva!
V tekstovni datoteki imam po stolpcih razdeljene naslove.
Vse skupaj preberem in vržem v array z ukazom:
$index = file('pododdatotke');
Problem nastane, ker mi pri vsakem zapisu naredi na koncu še presledek v smislu '\n'. in ne morem primerjati te vrednosti z iskano npr.:
V datoteki imam:
Priv
Drugi
Četrti
…
In če postavim pogoj:
If ($index[0] == 'Prvi') mi tega pogoja ne izpolni saj prebere 'prvi ' in z dodatnim znakom, ki bi moral biti presledek ali \n.
Kako odstranit ta preblem? S $idex1[0] = str_replace('\n', '', $index[0] ) ne gre??
Upam, da je zadeva ni nerešljiva!
Brilko ::
Upam, da je zadeva ni nerešljiva!
Lej, čist na easy, ti samo $index explodi glede na \n .
explode() - $neki = explode("\n",$index);
Lej, čist na easy, ti samo $index explodi glede na \n .
explode() - $neki = explode("\n",$index);
Zgodovina sprememb…
- spremenil: Brilko ()
novi ::
Še kar ne znam obiti ta problem!
V datoteki test.txt:
prvi
drugi
tretji
Koda:
$handle = fopen("test.txt", "r");
while (!feof($handle)) {
$char = fgetc($handle);
$izpis = $izpis.$char;
}
fclose($handle);
$menu = explode("\n", $izpis);
echo $menu[0]."...
";
echo $menu[1]."...
";
echo $menu[2]."...
";
if ($menu[1] == "prvi") {
echo "zmagal sem!";
}
Izpis na zaslonu:
prvi ...
drugi ...
tretji...
Tu se lepo vidi, da poleg vrednosti, ki je v datoteki doda še presledek in to pri vseh, ki se nadaljujejo! Pri zdanjem vnosu ni presledka!
Tega presledak ne znam odpravit!!
V datoteki test.txt:
prvi
drugi
tretji
Koda:
$handle = fopen("test.txt", "r");
while (!feof($handle)) {
$char = fgetc($handle);
$izpis = $izpis.$char;
}
fclose($handle);
$menu = explode("\n", $izpis);
echo $menu[0]."...
";
echo $menu[1]."...
";
echo $menu[2]."...
";
if ($menu[1] == "prvi") {
echo "zmagal sem!";
}
Izpis na zaslonu:
prvi ...
drugi ...
tretji...
Tu se lepo vidi, da poleg vrednosti, ki je v datoteki doda še presledek in to pri vseh, ki se nadaljujejo! Pri zdanjem vnosu ni presledka!
Tega presledak ne znam odpravit!!
Nerdor ::
Sicer nisem PHP programer, vendar bi se to lahko rešilo z uporabo Regular Exprešnov, ki so v PHP mislim, da tako kot v Perlu. Just a hint
[MYTiX] ::
Ja sm RegExi so baje procesorsko kar zahtevni. V PHP manualu priporočajo uporabo alternativnih načino, če se le da.
podpis
McAjvar ::
ne rabs tukej nobenih regularnih izrazov. sam owco poslusej pa po-trim()-aj vse whitespace znake, pa bo.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov
but an exercise in the limiting of privacy."
- Isaac Asimov
upirna ::
Regex je uporaben pri parasanju raznih html strni (denimo, kakšne skripte za vreme, tečaje itd.). Vendar je dobro, če te stvari tečejo ločeno v cronu (če je linux) v winsih maš pa tut programe, ki to uspešno izvajajo.
[to sporočilo bo spremenil upirna, kadar bo to njemu pasalo]
[MYTiX] ::
offtopic:
Za parsanje je vredu tudi simpleXML. Je zelo preprost. Na www.bandrej.com je dober članek o tem kako s tem extensionom parsat stran za vreme. Je pa sam za PHP5.
Za parsanje je vredu tudi simpleXML. Je zelo preprost. Na www.bandrej.com je dober članek o tem kako s tem extensionom parsat stran za vreme. Je pa sam za PHP5.
podpis
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | vprašanje glede command promptaOddelek: Pomoč in nasveti | 1629 (825) | fizybublich |
» | JavaScript v PHP-juOddelek: Izdelava spletišč | 1032 (817) | drola |
» | [php] unlink - problemčekOddelek: Izdelava spletišč | 1733 (1279) | PaX_MaN |
» | Zagon PHP ukaza v Javascript-u ?Oddelek: Programiranje | 1119 (1071) | Ziga Dolhar |
» | file parsingOddelek: Programiranje | 1264 (973) | EZ2BHard |