Avatar billede svoeber Nybegynder
17. oktober 2003 - 15:37 Der er 4 kommentarer og
1 løsning

"Internationale" teng i preg_replace

Jeg har et lille problem, når jeg prøver at bruge preg_replace på danske/svenske ord.

Hvis mit ord starter med fx. Ø vil den ikke genkende ordet - men hvis ø'et er nr. 2+ bogstav i ordet, vil den gerne.

Her er min test-kode:

----------------------
$tekst1 = 'øvrig'; echo $tekst1." = ";
$tekst1 = preg_replace("/\bøvrig\b/i",'oevrig',$tekst1);
echo $tekst1."<br>";

$tekst2 = 'løsen'; echo $tekst2." = ";
$tekst2 = preg_replace("/\løsen\b/i",'loesen',$tekst2);
echo $tekst2;
----------------------

...hvilket givet outputtet:

----------------------
øvrig = øvrig

løsen = loesen
----------------------

Problemet er der kun, når jeg kører scriptet på mit webhotel (Solaris 8, webserver=Zeus/4.2).

På min lokale windows fungerer det korrekt.

Kan jeg løse problemet?
Avatar billede sukos Juniormester
18. oktober 2003 - 11:50 #1
Kan du ikke blot bruge str_replace?
Avatar billede erikjacobsen Ekspert
18. oktober 2003 - 12:24 #2
Prøv at sætte en
  setlocale(LC_ALL,"da_DK");
på siden
Avatar billede svoeber Nybegynder
18. oktober 2003 - 12:27 #3
Nej :)
Ovenstående er blot et eksempel for at illustrere fejlen.
I min endelige kode skal jeg bruge preg_replace(), fordi jeg har brug at finde hele ord i en tekst, dvs. uanset om de er i start eller slutning af teksten, eller om de er omgivet af punktum/komma/kolon mm.
Avatar billede svoeber Nybegynder
18. oktober 2003 - 12:33 #4
erikjacobsen> Jo, det var hvad der skulle til.
Lægger du et svar?
Avatar billede erikjacobsen Ekspert
18. oktober 2003 - 12:34 #5
ok :)
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