[ Bope @ 21.12.2010. 00:33 ] @
Nemam veliko iskustvo sa php-om, a u dilemi sam koju samo iskustvo moze da resi. Imam jedan dugacak tekst u kome moram da nadjem (i izdvojim) sva pojavljivanja nekog stringa. Za to koristim standardne php funkcije substr,strpos i sl, ali mi nesto govori da bi sajt radio daleko brze kada bih umesto tih ugradjenih fukcija koristio regularne izraze.

Sta kaze Vase iskustvo? Da li bi regularni izrazi napravili OSETNU razliku u obradi velike kolicine teksta?
[ milosijaa @ 21.12.2010. 01:16 ] @
Velicina je relativna :)

Ja bih ovo resavao preko regularnih izraza. Ako nista drugo sva pojavljivanja tog tvog stringa pronalazis s jednim redom koda.

A sta ti znaci veliki tekst? 100kb, 1MB, 10MB?

Bilo bi interesantno napraviti neki benchmark...

[ Bope @ 21.12.2010. 09:46 ] @
U pitanju je parsovanje nekoliko html stranica, svaka po.....pa ne znam, recimo do 150,200 kb :D

Ja sam to radio po sablonu: petlja pa prvo pojavljivanje stringa u odnosu na prethodnu poziciju i na taj nacin ume da potraje :)
[ agvozden @ 21.12.2010. 09:48 ] @
Najbolje ti je da postavis tajmere i vrsis merenja.

Regularni izrazi su mocni i ponekad, jedino resenje. Medjutim php raspolaze sa dosta tekstualnih funkcija koje se razlicito ponasaju.
Neke funkcije brze rade sa manje podataka, a neke sa vise.
---

ukoliko parsiras stranice i za to koristis petlje onda ce to da potraje. E, tu stupaju na scenu regularni izrazi... Koristi ih obavezno za parsiranje strana...
[ Bope @ 21.12.2010. 14:03 ] @
Hvala, ja jednostavno nisam znao da li mi se isplati da ucim i koristim regex (mislio sam da mozda php funkcije u pozadini rade sa regularnim izrazima).
[ Aleksandar Ružičić @ 21.12.2010. 14:45 ] @
vodi samo racuna o tome da preg_* funkcije nekada ne rade na ogromnim ulaznim stringovima, meni se desavalo da mi preg_match vrati samo prvih nekoliko rezultata kada sam parsirao jedan poveci html fajl, pa sam morao onda da explode-ujem string po nekom delimiteru (ja sam parsirao sadrzaj nekih tabela pa sam po <table> radio explode) i onda ubacio taj preg_match u foreach...

mada, ja sam to radio u 5.1 moguce da su sredili to ako je bio u pitanju neki bug, a evo od 5.2 mogu i da se kontrolisu pcre limiti pa mozda povecanjem ovih limita mogu da se srede slicni problemi.
[ Bope @ 21.12.2010. 15:51 ] @
ufff....komplikacija :\ Moracu nekako da smislim nacin da proverim da li je sve nadjeno. Recimo explode po stringu koji se trazi pa broj clanova explode niza...ili tako nekako...