Gå til innhold

Hvordan gi lov til å bruke ÆØÅ i form ?


Anbefalte innlegg

Videoannonse
Annonse

Du trenger ikke bruke | for hver [], men kan heller putte alle bokstavene mellom [ og ] slik:

 

Ikke slik

([a-z]|[A-Z]|[0-9]|-|[æøåÆØÅ])

 

Men slik

([a-zA-Z0-9æøåÆØÅ\-])

 

 

Som de fleste vet har PHP litt problemer med æ, ø og å med tekstbehandling. Derfor fungerer f.eks ikke [a-åA-Å] noe særlig bra, fordi PHP ikke skjønner at æ og ø også ligger mellom a og å, og A og Å.

 

Men hvis du gjør utrykket case-insensitive, så vil den av en eller annen grunn fungere perfekt.

 

Med andre ord kan du erstatte utrykket over med

[a-å0-9\-] (case-insensetiv)

 

Eks: preg_replace("/([a-å0-9\-])/i", "\\1", $test)

Lenke til kommentar
Vil preg_replace("/([a-å0-9\-])/i", "\\1", $test) fungere? PHP er ASCII basert og æ følger ikke etter z, dvs. at tegnene mellom z og æ også vil bli med. Tror du må bruke a-zæøå0-9

Ja, du har nok rett i det.

 

Jeg som var litt for kjapp med konklusjonen.

 

å har jo verdien 229, noe som betyr at både æ (230) og ø (248) vil bli ekskludert.

 

Funksjonen vil akspetere både æ, ø og å, men vil også akspetere en haug med andre tegn du kanskje ikke vil ha med. Derfor er nok "a-zæøå0-9\-" å foretrekke.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...