webForumDet fria alternativet

Preg och specialtecken

4 svar · 526 visningar · startad av Troxy

TroxyMedlem sedan mars 20041 505 inlägg
#1

Hej, jag har nyligen bytt webbhotell.
På det gamla hotellet så ingick åäö och andra specialtecken när man använder \w i preg_
Men det nya hotellet tar inte dessa längre. Är det någon inställning som man själv kan fixa?

<?php

var_dump(preg_match('/^[\w\s]+$/', 'En snäll häst'));  //int(0)

?>
itpastornMedlem sedan feb. 2007278 inlägg
#2

Troxy skrev:

Men det nya hotellet tar inte dessa längre. Är det någon inställning som man själv kan fixa?

setlocale()

http://se.php.net/manual/en/function.setlocale.php

TroxyMedlem sedan mars 20041 505 inlägg
#3

Okej, men hur exakt sätter jag den till svenska på en FreeBSD-server då?
Jag har testat många olika strängar, men setlocale returnerar bara false hela tiden.

/r Okej, nu fick jag napp på denna kodsnutt:

setlocale(LC_ALL, 'sv_SE.ISO8859-1');

Men preg vill fortfarande inte godkänna åäö som "word characters".

stevenetMedlem sedan juni 20001 251 inlägg
#4

Det går ange flera för att hitta rätt. Osäker på hur iso-varianten ska formateras dock, verkar vara lite olika här och var.

Exempel:

setlocale(LC_ALL, 'sv_SE.iso88591, 'sv_SE', 'swedish');

sv_SE
sv_SE.iso88591
sv_SE.iso885915
sv_SE.utf8
swedish

TroxyMedlem sedan mars 20041 505 inlägg
#5

Japp efter många försök så accepterar den nu en svensk teckentabell.
Men preg vill fortfarande inte.
Jag har lyckats lösa detta lite snabbt genom att lägga till /u-modifiern för unicode i mitt pattern, men är detta verkligen den rätta lösningen?

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)