/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med ÆØÅ i regulære udtryk
Fra : Kasper Garnæs


Dato : 15-07-04 12:14

Hej gruppe,

Jeg har et problem med regulære udtryk, idet jeg ikke kan få preg_match til
at matche bogstaverne æ,ø eller å med \w, når det kører på mit webhotel,
mens det virker fint på localhost.

Problemet kan illustreres med følgende kode:

<?PHP

$string = "æøåÆØÅ";
$regExp = "/([\w]+)/";
$matchFound = preg_match($regExp, $string, $matches);

var_dump($matchFound);
var_dump($matches);

$string = "æøåÆØÅ";
$regExp = "/([\wæøåÆØÅ]+)/i";
$matchFound = preg_match($regExp, $string, $matches);

var_dump($matchFound);
var_dump($matches);

?>

På min egen maskine (Windows XP DK, PHP 4.3.7), resulterer ovenstående,
ganske som jeg havde regnet med, i:

int(1)
array(2) {
[0]=>
string(6) "æøåÆØÅ"
[1]=>
string(6) "æøåÆØÅ"
}
int(1)
array(2) {
[0]=>
string(6) "æøåÆØÅ"
[1]=>
string(6) "æøåÆØÅ"
}

Hos min udbyder (Linux 2.6.2, PHP 4.3.1) får jeg derimod:

int(0)
array(0) {
}
int(1)
array(2) {
[0]=>
string(6) "æøåÆØÅ"
[1]=>
string(6) "æøåÆØÅ"
}

Er der nogen, der kan fortælle mig, hvad jeg kan gøre for at få preg til at
matche æ,ø eller å med \w hos min udbyder - enten hvad jeg skal ændre i min
egen kode eller hvad jeg skal klage over i en email til mit webhotel?

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



 
 
Nezar Nielsen (15-07-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 15-07-04 13:20

Kasper Garnæs wrote:
> Er der nogen, der kan fortælle mig, hvad jeg kan gøre for at få preg til at
> matche æ,ø eller å med \w hos min udbyder - enten hvad jeg skal ændre i min
> egen kode eller hvad jeg skal klage over i en email til mit webhotel?

Regex tager afair locale i betragtning når den evaluerer \w, dvs.

setlocale(LC_ALL, 'da_DK'); //eller Danish..

inden du laver dit match, og så skulle der være en chance for at det
virker for dig.

--
Mvh. Nezar Nielsen
http://fez.dk

Kasper Garnæs (15-07-2004)
Kommentar
Fra : Kasper Garnæs


Dato : 15-07-04 16:47

Nezar Nielsen wrote:
> Kasper Garnæs wrote:
>> Er der nogen, der kan fortælle mig, hvad jeg kan gøre for at få preg
>> til at matche æ,ø eller å med \w hos min udbyder - enten hvad jeg
>> skal ændre i min egen kode eller hvad jeg skal klage over i en email
>> til mit webhotel?
>
> Regex tager afair locale i betragtning når den evaluerer \w, dvs.
>
> setlocale(LC_ALL, 'da_DK'); //eller Danish..
>
> inden du laver dit match, og så skulle der være en chance for at det
> virker for dig.

Det virker perfekt. Mange tak for hjælpen!

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste