On Mon, Feb 11, 2002 at 12:22:30PM +0200, Razvan Cosma wrote:
>   Incerc sa scot dintr-un html numai ce este inclus intre un tag (eg
> <table>) si cel care il inchide. Se presupune ca sint mai multe asemenea
> taguri imbricate, iar cel care inchide blocul nu este ultimul din sir.
> Cum ar arata asa ceva? Pe cit posibil in php (incerc sa pun asta intr-o
> pagina web), daca nu in orice limba si o sa incerc sa adaptez. Cea mai
> buna sugestie ar fi cred RTFM, dar la care pagina?
>  Multumesc.

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>)?.*?</table>)
 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.


 -Mihai

---
http://www.muqker.com
---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui