Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Razbijanje teksta na redove

[es] :: PHP :: Razbijanje teksta na redove

[ Pregleda: 3655 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

M_B
Beograd

Član broj: 30619
Poruke: 17
195.252.113.*



Profil

icon Razbijanje teksta na redove01.06.2005. u 11:45 - pre 230 meseci
Ima li nekoga u ovoj nasoj maloj drzavi ko bi mogao da mi pomogne da razbijem tekst na redove, tekst se sastoji iz sql naredbi, komentara i praznih redova, npr:

#DB backup

INSERT ... ;
INSERT ... ;

svatate sta hocu da kazem... Svaki red se zavrsava sa ";", ali je moguce da se taj znak pojavi i pre, tako da to ne mogu da koristim.
Ovaj tekst kad se razdvoji na redove daje se MySQL-u da ga izvrsi, tako da bi bilo:

$linesCount - broj redova
$currentLine - trenutni red, npr. $lines[$i].

for ($i = 0; $i < $linesCount; $i ++){
if (($currentLine[1] != '') && ($currentLine[1] != ' ') && ($currentLine[1] != '#')){
mysql_query($currentLine) or die(musql_error());
}//if
}//for
 
Odgovor na temu

kIGUAR
Istra

Član broj: 12745
Poruke: 25
161.53.146.*

Sajt: www.athlante.com


Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 12:29 - pre 230 meseci
Kako si dobio broj linija u file-u. Nemoj brojati znak ; nego broji koliko ima \n i taj broj dodijeli varijabli.
\n je znak za novi red.
 
Odgovor na temu

M_B
Beograd

Član broj: 30619
Poruke: 17
195.252.113.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 12:37 - pre 230 meseci
Ja znam da je \n znak za novi red kad ja kucam tekst, ali nisam znao da ce da ga prepozna u vec iskucanom tekstu.
Jel si siguran da to moze, evo deo fajla:

# DB Backup 1.6.2005

INSERT INTO mxtrack_category VALUES("1","Delphi Components");
INSERT INTO mxtrack_category VALUES("2","Programs");
 
Odgovor na temu

kIGUAR
Istra

Član broj: 12745
Poruke: 25
161.53.146.*

Sajt: www.athlante.com


Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 12:56 - pre 230 meseci
Može. Unix fileovi i windows imaju neke razlike, ali mislim da je taj jednak.
Newline Character je ključna riječ po kojoj ćeš tražiti da budeš siguran. Ja sam tako radio neki script koji je izvršavao neku operaciju za vrijednost koja se nalazila u pojedinom retku.
 
Odgovor na temu

M_B
Beograd

Član broj: 30619
Poruke: 17
195.252.113.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 14:01 - pre 230 meseci
Jos samo jedno pitanje, sta ako \n ima negde pre jer se u bazu smestaju cak i cele diskusije, kako da znam da se \n nalazi na kraju linije, da trazim ;\n ???
 
Odgovor na temu

BraMom
Branimir Momcilovic
Niš, Prokuplje

Član broj: 51489
Poruke: 38
213.244.197.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 22:39 - pre 230 meseci
Pregledaj malo PHP manual, ima svakojakih f-ja za parsiranje stringova,
ne moras da hardkodiras.
Za tvoj problem moze da posluzi
explode ( string separator, string string [, int limit] )
a moze i
split ( string pattern, string string [, int limit] )
pattern je "regular expression pattern", pa moze pomoci oko izdvajanja SQL od djubreta, mada ne vidim zasto bi se u istom fajlu (stringu) nalazio SQL i djubre

Kraj reda kod unix fajlova je \r\n, a kod windows-a \n
Elem
aLines = explode(lines, "\r\n")
ti vraca sve redove stringa u niz, a posle kako ti volja



 
Odgovor na temu

M_B
Beograd

Član broj: 30619
Poruke: 17
195.252.113.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 22:51 - pre 230 meseci
I koristim explode, nasao sam nacin da to uradim, samo mi nije jasna ta razlika windows-unix, ako koristim \r\n jel ce da radi kod oba?
 
Odgovor na temu

BraMom
Branimir Momcilovic
Niš, Prokuplje

Član broj: 51489
Poruke: 38
213.244.197.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 23:19 - pre 230 meseci
Mislim da nece, ali uvek mozes da uradis
str_replace("\r\n", "\n", string);
i svejedno kakav je ulaz bio sada imas samo \n na kraju reda.
 
Odgovor na temu

M_B
Beograd

Član broj: 30619
Poruke: 17
195.252.113.*



Profil

icon Re: Razbijanje teksta na redove01.06.2005. u 23:30 - pre 230 meseci
Vidis, to je veoma pametna ideja :)

Hvala puno!

pogldaj za sta to koristim (ako te zanima) na http://mxs.bergsoft.net/tracker
 
Odgovor na temu

The Sekula

Član broj: 53829
Poruke: 76
*.eunet.co.yu.

Sajt: www.sekulovic.net


Profil

icon Re: Razbijanje teksta na redove02.06.2005. u 08:43 - pre 230 meseci
Ako ti je tekst u fajlu, pogledaj funkciju file(), ona ce ti to sama odraditi sto ti treba, s tim sto ce ocuvati i new like karaktere u izvornom obliku.
 
Odgovor na temu

[es] :: PHP :: Razbijanje teksta na redove

[ Pregleda: 3655 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.