PHP: ÆØÅ omskrivning

Tags:    php

<< < 12 > >>
Kære udviklere!

Jeg skal have smidt en udskrivelse af et "emne" fra min database ud, og smidt den op i url adressen. Og til dét vil jeg gerne have ændret (ÆØÅ) til eksempelvis (ae, oe, aa).

Jeg har gjort således indtil videre:
Fold kodeboks ind/udPHP kode 


Så har jeg prøvet med det her, omkring omskrivelse til ae, oe og aa:
Fold kodeboks ind/udPHP kode 


Men det fungere ikke. Er der nogle der kan forklare mig hvorfor det ikke virker, eller hvordan I ville gøre?

P.S. Resultatet jeg får ud lige nu, ser eksempelvis sådan her ud:
nye-høretelefoner



Indlæg senest redigeret d. 10.12.2011 17:01 af Bruger #16025
15 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Har du prøvet med mb_strtolower() i stedet for strtolower() ?.

Ellers prøv :
$subject = byttegn(utf8_encode(strtolower(utf8_decode($blogRow["emne"]))));

Ellers find ud af hvad encoding $blogRow["emne"] er gemt i og hvad encoding du skal bruge på din side.




Hej Daniele

Jeg ved ikke helt hvad din for-løkke gør, men umiddelbart tror jeg, at du har lavet count på den forkerte variabel - skulle du ikke counte enten $array1 eller $array2 ?

I så fald, så kunne du have gjort sådan i stedet:
Fold kodeboks ind/udPHP kode 




prøv at udskrive $str før du laver str_replace, og giv os html koden for det tekst



Jeg ville gøre sådan her.
Fold kodeboks ind/udPHP kode 

Hvis din streng "Igår" er i multibyte encoding (UTF-8) så skal du i stedet for at bruge strtolower() bruge mb_strtolower().



Indlæg senest redigeret d. 10.12.2011 20:10 af Bruger #13010
Find ud af hvad encoding teksten er gemt i, i din database.




Dette virker fint her (str har jeg lige oprettet for test)

Fold kodeboks ind/udPHP kode 


Vær sikker på at dine danske bogstaver ikke er repensenteret som html code ala
Fold kodeboks ind/udHTML kode 
for æ.



Indlæg senest redigeret d. 10.12.2011 19:25 af Bruger #12408
Hej Daniele

Jeg ved ikke helt hvad din for-løkke gør, men umiddelbart tror jeg, at du har lavet count på den forkerte variabel - skulle du ikke counte enten $array1 eller $array2 ?

I så fald, så kunne du have gjort sådan i stedet:
Fold kodeboks ind/udPHP kode 


Ja det var selvfølgelig en lidt mere simpel løsning end min :)



Min kode ser sådan her ud:

Fold kodeboks ind/udPHP kode 


Men den udskriver stadig, eksempelvis:

fest-igår!

Den skulle jo udskrive

fest-igaar!



Indlæg senest redigeret d. 10.12.2011 19:29 af Bruger #16025
$blogRow["emne"] - indeholder den emnet i store bogstaver?

I så fald, så skal du lave strtolower inden linje 3.



Det her kode virker:

Fold kodeboks ind/udPHP kode 


@Kristian Iversen
Det indeholder emnet både med store og små bogstaver :)



<< < 12 > >>
t