[ dr ZiDoo @ 24.03.2004. 16:45 ] @
Kako bi razbili string tipa:
Code:

rijec1  rijec2     rijec3              rijec4    rijec5


Problem je u tome sto broj razmakak izmedju rijeci nije stalan, nego moze da bude bilo kakav, ali radi se samo o razmaku.
[ popeye @ 24.03.2004. 17:09 ] @
Code:
function razdeli($recenica) {
    $reci = explode(" ", $recenica);
    foreach($reci as $rec) {
        if ($rec)
            $konacno[]=$rec;
    }
    return $konacno;
}
$recenica  = "piece1    piece2              piece3 piece4   piece5      piece6";
$reci = razdeli($recenica);
foreach($reci as $rec)
        echo $rec."<br>";


[Ovu poruku je menjao popeye dana 25.03.2004. u 02:01 GMT]

[Ovu poruku je menjao -zombie- dana 25.03.2004. u 07:43 GMT]
[ Gojko Vujovic @ 24.03.2004. 18:11 ] @
Code:

$recenica  = "piece1    piece2              piece3 piece4   piece5      piece6";
$reci = preg_split("/[\s,]+/", $recenica);
foreach($reci as $rec)
        echo $rec."<br>";
[ popeye @ 24.03.2004. 19:29 ] @
Hm... obrisi ono sto sam postovao gore... ;)
[ Gojko Vujovic @ 24.03.2004. 20:06 ] @
Neka, nije loše da skupimo više rešenja, vrlo je moguće da je moje sa regexpom koji svaki put treba da se kompajlira i sporije za neke situacije. Naravno ako se ne izvršava par stotina puta na stranici onda i nije strašno pošto su serveri brzi ovih dana, ali treba znati da to verovatno može da se optimizuje. Ako je bitna brzina, izmerite izvršavanje jednog i drugog rešenja u loopu od 10.000 ponavljanja ili više, pa izračunajte procentualno dobitak ako ga ima.
[ popeye @ 24.03.2004. 23:53 ] @
Na navedenom stringu, pri 10.000 izvrsavanja, rastavljanje putem regularne izjave je 7x brze od moje funkcije sa explode()...

Citat:
Vreme 1: 0.741962 sekundi.
Vreme 2: 0.108862 sekundi.
[ arsa xx @ 25.03.2004. 01:05 ] @
Verovatno zavisi i od toga kolko ima blanko razmaka!

Obe metode zavrsavaju posao, kao sto rece gojko brzi su serveri, i u vecini slucajeva oba zavrsavaju posao.