[ NetworkAdmin @ 24.10.2004. 00:26 ] @
Evo jedan problemcic, imamo tekst i recimo tri rjeci "mama tata brat"

Sad treba naci bilo koju od te tri rjeci dvije ispred i dvije iza rjeci a ako su te tri rjeci blizu jedna do druge npr "dok moj tata cuta novine mama pere posude moj brat jede banane" da se selektuje po tom principu sve: "dok moj tata cuta novine mama pere posude moj brat jede banane" sve da se selektije rer izmedju mama i brat je 3 rjeci dvije sa jedne dvije sa druge ima interferencija...

Ne znam moze li ovo sa jednim regex ili ce se to morati napraviti mala procedurica.

[ -zombie- @ 31.10.2004. 20:36 ] @
nije mi baš jasno šta je tačno cilj.. ako je potrebno samo naći reči u textu, i po DO dve reči sa strane, onda to završava ovaj prilično prost regex

Code:
$s = "dok moj tata cuta novine mama pere posude moj brat jede banane";
$rec = '(\w+\W+)';
preg_match_all("~$rec{0,2}(tata|mama|brat)\W+$rec{0,2}~is", "$s ", $a);
print_r($a[0]);


rezultat je niz čijim se spajanjem dobiju sve reči..

[0] => dok moj tata cuta novine
[1] => mama pere posude
[2] => moj brat jede banane

ali ako su tražene reči više razdvojene, dobijeni rezultat će samo sadržati po dve reči sa strane..

dakle, ako to nije to što si tražio, pokušaj malo bolje da objasniš.. daj bar dva tri primera texta, i željenih rezultata..