[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] PHP5 og RegExp problem



Du har ret, jeg har glemt et $ efter ...10,650}.

Jeg bruger (?:blabla|hubblahubbla) for at definere en branch, uden af den 
bliver captured. Det ville den gøre med (bla|hubblahubbla).
Det betyder ikke så meget for regexp's, men jeg har gjort det til en 
grundregel, at hvis jeg ikke skal bruge det, så undgå at samle det, hvis 
muligt.

Jeg bruger \w\W for at matche alt det som kan være dele at ord og ikke dele 
af et ord. \s er for at matche space, tab, newline, carriage return.
PHP5 driller mig når jeg samler . \n \r \t og space i en class definition, 
[.\n\r\t ] Så virker det bare ikke!
Og jeg er nødtil at teste på newline, carriage return og tab for at de 
tillades i den string som bliver testet på.

Eks. testes der inden, på feks ^[^\s]{1,}. for at undgå folk som dumper 40 
newlines ind i en tekst sammen med spam.
Det er et website med meget offentlig adgang og ejeren er blevet træt af den 
slags.
Derfor den noget mere omfattende kontrol, selvom det i sidste ende kun er 
begrænsning. Alt kan omgåes på en eller anden måde :-(

/Nis

"Hans Schou" <sslug@sslug> wrote in message 
news:sslug@sslug
> On Sun, 19 Aug 2007, Nis wrote:
>
>> Men nu virker det med /(?:^[\w\W\s]{10,650}|^$)/
>
> Jeg forstår ikke rigtigt hvad det '?:' gør.
>
> Hvorfor vil du gerne bruge '[\w\W\s]' og ikke '.'?
>
> Iøvrigt matcher du også mere end 650 tegn når du ikke har en $ med i
> første udtryk.
>
> De to udtryk burde være
>   ^$
>   ^.{10,650}$
> evt. sammenskrevet til
>   ^(|.{10,650})$
>
> (| er lig med tomt udtryk
>
> /hans
> -- 
> Horsebakken 78, DK-2400 København NV, Phone: +45 2264 8020
> -------------------------------------------------------------
> The key, the whole key, and nothing but the key,
> so help me Codd. 




 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2007-09-01, 02:01 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *