Jeg er noedt til at forklare at jeg som udenlandsdansker ikke har ae, oe, og aa paa mit tastatur. Det maa du abstraherer fra i det foelgende.
\w er normalt defineret som "word characters" der indeholder [A-Za-z0-9_] det vil sige alle store og smaa bogstaver fra a til z plus tal plus _ .
Saa synes du at forvente at med modifier /u (unicode) skal \w ogsaa indeholde store og smaa ae, oe, og aa. Den kender jeg ikke selv og jeg har ikke kunnet google mig frem til det. Hvis det skulle virke, er det saa maaske "!" der er problemet i saetningen "test en streng med øåæ!"
Men jeg har tidligere faaet regular expressions til at virke paa ae, oe, og aa ved at indfoere dem specifiek i moensteret, saaledes:
preg_match("/^[\w\saeoeaaAEOEAA]+$",$foo) Det var maaske et forsoeg vaerd.
Det var et dumt eksempel med ! i min streng, eftersom den selvfølgelig ikke skal tillade dette. Men den returnere stadig false selvom man fjerner ! og der kun står æøå.
Warning: preg_match() [function.preg-match]: No ending delimiter '/' found in /var/www/vhosts/
Her kan jeg ikke umiddelbart se fejlen..
Synes godt om
Slettet bruger
01. april 2010 - 00:38#5
Warning: preg_match() [function.preg-match]: No ending delimiter '/' found in /var/www/vhosts/
Fejlmeldingen fortæller dig hvad du der mangler og hvad du skal indsætte ;-)
Du starter din regex med en almindelig skråstreg "/", første tegn i en regex er det tegn der fortæller hvor din regex starter. Samme tegn skal indsættes når din regex er færdig, så du har mulighed for at indsætte forskellige indstillinger såsom case-insensitive (i), ungreedy (G) osv.
Så prøv og slut din regex af med dit delimiter-tegn "/" så det kommer til at se således ud:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.