ako vyparsovat block
Aben Siatris
aben na webcom.sk
Pondělí Říjen 27 10:00:11 MET 2003
Dňa Po 27. Október 2003 09:56 ste napísali:
> On Mon, Oct 27, 2003 at 09:46:10AM +0100, Aben Siatris wrote:
> >
> >
> > a nieje to xml, takze nemozem pouzit xml parser.
> > potreboval by som napisat regexp ktory by mi vyparsoval
> > cely BLOK bez toho aby mi spravil to ze vyparsuje
> > <BLOK><BLOK></BLOK>, ale
> > <BLOK><BLOK></BLOK></BLOK>
> >
>
> Nejak jsem to nepochopil, neslo by uvest priklad?
mam taky zaujimavy subor ktory obsahuje taketo konstrukcie
<MODULE=[BLOCK]>
<-type[mdl]><-global[1]><-category[400]><-name[mview_cX]><-TMP[BASE-CENTER-TOP]>
<-cache_id[default]>
<allow_subs[1]>
<format_500[s]>
<orderby[starttime DESC]>
<where[substring(priority,1,3)!='000']>
<text=[BLOCK]>
Nejaky riadne uleteny blby text...
<[BLOCK]>
<[BLOCK]>
a ja uboziak mam na to spravit parser :))
zabudnime na xml. toto je nejaka zverina.
takze, som si postavil zakladny regexp na parsovanie BLOCK
while ($file=~s|<(.[^\n]{1,255}?)\=\[(.{1,50}?)\]>(.*?)<\[\2\]>||si)
{
}
no a samozrejme narazam na ten problem ze nevyparsujem [BLOCK] po <[BLOCK]>
ktory vidim ako logicke zakoncenie ale vezme ten prvy, kedze je tam (.*?)
ale (.*) pouzit nemozem, kedze za tymto <MODULE=[BLOCK]> moze nasledovat
dalsi (a aj nasleduje :)) <MODULE=[BLOCK]>
vzhlad ani fcionalitu daneho datoveho subori nijako neovplyvnim
potreboval by som tomu (.*?) povedat nejako nech zahrna v sebe i pary
BLOCK]>.*?<[BLOCK]>, ale neviem ako na to... asi mi to dnes moc nemysli :)
--
:
:. stay cool
:.. Aben Siatris
:.. aben na webcom.sk
:.:
:.: www.WebCom.sk
:.: www.LaMonde.net
:.: www.HOWTOlinux.info
:.: www.SATANICMASS.info
:
--- Gentoo binutils: /usr/bin/sex
:.: "Land o' Goshen!" yelped the sock sniffing stewardess as the
:.: nose-grooming archduke lashed her globular knockers and plugged his
:.: swinish intruder into her palpitating palace.
Další informace o konferenci Perl