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