Avatar billede konder Nybegynder
28. oktober 2005 - 08:16 Der er 13 kommentarer og
1 løsning

Funktion til at erstatte bogstaver i databaser.

Jeg har indtil nu undgået æ, ø og å i min database. Men nu kommer andre til og jeg efterlyser en funktion der kan erstatte disse fra formularer.
Og modsat den anden vej. Når resultater skal vises fra databasen.
Avatar billede lsskaarup Nybegynder
28. oktober 2005 - 08:33 #1
Øh, sådan noget lignede dette?

$onlyconsonants = str_replace("æ", "ae", $string);
Avatar billede konder Nybegynder
28. oktober 2005 - 08:49 #2
er det ikke bedre med de betegnelser der ender på ; , ligesom   (Jeg kan altså ikke huske dem)
Avatar billede lsskaarup Nybegynder
28. oktober 2005 - 08:57 #3
Hvad mener du?
Avatar billede konder Nybegynder
28. oktober 2005 - 09:01 #4
ja istedet for ae, så den betegnelse jeg ikke kan huske. Æ,ø, og å har sin egen oversættelse i html.
Avatar billede nielle Nybegynder
28. oktober 2005 - 09:01 #5
$onlyconsonants = str_replace("æ", "æ", $string);

æ = æ
Æ = &AElig:
ø = ø
Ø = Ø
å = å
Å = Å
Avatar billede nielle Nybegynder
28. oktober 2005 - 09:06 #6
$plainDansk  = {"æ",      "Æ",      "ø",        "Ø",        "å",      "Å"};
$encodedDansk = {"æ", "Æ", "ø", "Ø", "å", "Å"};
$onlyconsonants = str_replace($plainDansk, $encodedDansk, $string);
Avatar billede lsskaarup Nybegynder
28. oktober 2005 - 09:19 #7
Nå, okay, ja så skal du gøre som nielle forslår. Du har 2 arrays, et med de "rigtige" tegn (æ, ø ...) og et med html-koden. str_replace ændre så automatisk i variablen $string, ud fra de forudsætninger, du har sat i de 2 arrays.
Avatar billede konder Nybegynder
28. oktober 2005 - 09:23 #8
kan ikke rigtig få det til at virke. $string = mit felt f.eks. $navn, ikk
Avatar billede nielle Nybegynder
28. oktober 2005 - 09:29 #9
Den ene vej:

$navn = str_replace($plainDansk, $encodedDansk, $navn);

- og den anden:

$navn = str_replace($encodedDansk, $plainDansk, $navn);

Dog er der ikke nogen speciel grund til at oversætte tilbage når teksten skal vises på siden - kun hvis den skal redigeres i f.eks. en textarea.
Avatar billede nielle Nybegynder
28. oktober 2005 - 09:39 #10
En enden mulighed er at bruge htmlentities() eller htmlspecialchars():

http://dk.php.net/manual/da/function.htmlentities.php
Avatar billede konder Nybegynder
28. oktober 2005 - 09:54 #11
tak for hjælpen, læg et svar
Avatar billede nielle Nybegynder
28. oktober 2005 - 10:04 #12
Jeg deler da gerne point på denne her med lsskaarup.

Svar :^)
Avatar billede konder Nybegynder
28. oktober 2005 - 10:06 #13
hvordan er det lige at man deler point?
Avatar billede nielle Nybegynder
28. oktober 2005 - 10:18 #14
Hvis lsskaarup vile have del i point-summen skal han først lægge et svar. :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester