daca am inteles eu bine ce vrei sa spui exista o solutie mai buna:
tot fisierul pe care vrei sa-l "parsezi" (care e traducerea pe romana ?)
in transformi intr-o singura linie... adica ii scoti toate \n

dupa care poti sa aplici preg_match (e mai rapid decat ereg), ereg,
eregi...

--
Tutu Valentin
tel.: 093.566.568
web: http://www.tutu.ro/
----- Original Message -----
From: "Mihai Ilinca" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, February 11, 2002 1:27 PM
Subject: [rlug] Re: php regexp


> In general functiile de findall/searchall/matchall gasesc aparitiile
> non-overlapping ale expresiei regulate in string (care nu se
incaleca),
> or la tine se incaleca. Cred ca va trebui sa faci multe manarii ca
sa-ti
> iasa, cu o singura cautare nu vad cum ar merge, nu vad 'o expresie
> regulata' care sa faca ce vrei tu din prima...
>
> Idee: Eventual sa incerci sa-ti generezi expressile regulate dinamic
in
> felul urmator. Iti iei o adancime_maxima (de cate ori se nestuiesc
alea
> unele in altele) si:
>
>
> rezultate=array ()
> x=array (stringu_tau)
> for (i=adancime_maxima-1 dowto 0)
> {
>  str1='(?:<table>.*?
>  str2='.*?</table>)?'
>  str_compus=(str1 concat cu el insusi de i ori) concat cu (str2 concat
cu el insusi de i ori)
>  ereg='(<table>.*?' concat cu str_compus concat cu '.*?</table>)'
> # exemplu: i=2 ai
(<table>.*?(?:<table>.*?(?:<table>.*?.*?</table>)?.*?</table>)?.*?</tabl
e>)
>  y=array ()
>  foreach (x as a)
>  {
>   y.append (matchall (ereg, a))
>  }
>  x=y
>  rezultate se extinde cu x
> }
> in variabila rezultate ai rzultatele finale
>
>
> Ideea e ca la prima iteratie le iei pe alea de suprafata (de grad 1),
la
> a 2-a, le parsuiesti pe alea pe care le-ai gasit la prima,
obtinandul-le
> pe alea de suprafata relativ la primele care relativ la stringu mare
> sunt de grad 2, si tot asa...
>
> Note: E o idee de moment si s-ar putea sa fie total gresita.
>
> Daca nu stii de loc expresii regulate, atunci o sa intelegi mai greu,
> incearca cu manualu in fata...

---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui