Avatar billede marktopperdk Nybegynder
14. marts 2013 - 11:09 Der er 5 kommentarer og
1 løsning

[PHP] ÆØÅ i preg_replace?

Nu har jeg længe forsøgt at få "ÆØÅ" til at blive ændret til "ae, oe, aa", men uden held.

Skal bruge dette fordi jeg skal lave et SEO venligt link.

Men min problem er at jeg ikke kan få den til at håndtere ÆØÅ i min preg_replace.

Andre der har dette problem eller har haft, og eventuelt nogen med en løsning?

Tak på forhånd.
Avatar billede michael_stim Ekspert
14. marts 2013 - 11:23 #1
Har læst at str_replace er hurtigere:

   
$var = "Æblegrød med fløde på";
$str1 = array("Æ", "Ø", "Å", "æ", "ø", "å");
$str2 = array("AE", "OE", "AA", "ae", "oe", "aa");
echo str_replace($str1, $str2, $var); // erstatter bogstaverne
Avatar billede marktopperdk Nybegynder
14. marts 2013 - 11:58 #2
Tusinde tak Michael, det var lige hvad jeg søgte. Hvis du opretter et svar kan jeg give dig de points du fortjener.
Avatar billede michael_stim Ekspert
14. marts 2013 - 12:06 #3
Ellers tak, samler ikke på point. Læg selv et svar og accepter dit eget svar, så spørgsmålet bliver lukket.
Avatar billede marktopperdk Nybegynder
14. marts 2013 - 12:19 #4
Okay. Tusinde tak endnu engang.
Avatar billede olebole Juniormester
14. marts 2013 - 14:35 #5
<ole>

Til udskiftning af enkelte tegn/ord er str_replace hurtigere, men ved flere tegn/ord i arrays er forskellen ret marginal  =)

I preg-funktionerne kan du bruge modifier'en u (lille u), som gør funktionen utf-8 kompatibel ... link til dokumentationen

/mvh
</bole>
Avatar billede arne_v Ekspert
16. marts 2013 - 22:54 #6
Hvis str_replace kan loese problemet vil jeg til enhver tod foretraekke den over preg_replace.

Ikke p.g.a. performance men for at undgaa problemer med tegn med speciel betydning i regex.
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

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