Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: Deljenje stringa  (Pročitano 2503 puta)
Lun
Gost
« poslato: Ponedeljak, 07. Jul 2003. 21:04:10 »

Imam fajl sa gomilom redova koji imaju ovakvu strukturu:

ime@prezime@ulica@e-mail

dakle @ je separator.

Kako da citam redove iz ovog fajla i da iz svakog reda izvucem promenljive $ime, $prezime itd. tj stringove izmedju @ znakova?
Sačuvana
dna_override
Gost
« Odgovor #1 poslato: Utorak, 08. Jul 2003. 20:58:01 »

Pogledaj PHP f-ju explode.

array explode ( string separator, string string [, int limit])


Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string separator. If limit is set, the returned array will contain a maximum of limit elements with the last element containing the rest of string.

If separator is an empty string (""), explode() will return FALSE. If separator contains a value that is not contained in string, then explode() will return an array containing string.

Note: The limit parameter was added in PHP 4.0.1

Example 1. explode() examples

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);



P.S. Sada sam video da postoji i f-ja strtok pa mozhesh pogledati i nju .... Ona je u stvari klasichna tokenizer f-ja tj. tokenuje (deli) dati string u tokene (manje stringove) u zavisnosti od prosledjenog delimitera (separatora)
Sačuvana
Momcilo
Gost
« Odgovor #2 poslato: Utorak, 08. Jul 2003. 22:36:36 »

Nije PHP, ali...
Pokusaj i ovo komandu i vidi da li ti vise odgovara:

awk  -F@ '{print $1 "\n"  $2 "\n" $3 "\n" $4 "@" $5}' sample.txt
Gde je sample.txt izvorni fajl...
Za vise informacija o awk-u: http://www.vectorsite.net/tsawk.html
Sačuvana
Lun
Gost
« Odgovor #3 poslato: Sreda, 09. Jul 2003. 11:36:48 »

Pozdrav!

Pronasao sam bio explode() ali sam se upecao glupo kao sharan - fajl koji sam hteo da obradjujem je na pocetku imao linije od mah 150 karaktera pa je kate vertikalni klizac postavio na tu shirinu. Medjutim, nadalje sam imao redove i od preko 300 karaktera (sto naravno nisam predvideo).

Parametar za fgets sam bio postavio na 256 karaktera i onda su poceli problemi tj. lose ovbradjivanje sa prijavljeim grreskama. Posto sam pomislio da je neka PHP-ova slabost sa povecom obradom. Problem sam resio sa awk-om ali sam nakon toga utvrdio i gde je problem sa PHP-om pa je i explode() dao odlicno rezultate.

Hvala!
Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na:  

?>