Megőrjítenek az ékezetek! MB_ és tsai
Sziasztok!
Win7 HUN, UTF8 fájl.
function Test($Msg){
$Result = "";
$ReplFrom = "ő";
$ReplTo = "ö";
for($i=0; $i<mb_strlen($Msg); $i++){
$c = mb_substr($Msg, $i, 1);
echo($c);echo("<br>");
}
}
Test('őű');
Ez szépen kiírja: "őű"
Szeretném cserélni az "ő"-t "ö"-re egyenként, mert mást is akarok vizsgálni rajta...
function Test($Msg){
$Result = "";
$ReplFrom = "ő";
$ReplTo = "ö";
for($i=0; $i<mb_strlen($Msg); $i++){
$c = mb_substr($Msg, $i, 1);
$add = $c;
$h = mb_substr($ReplFrom, 0, 1);
if ($c == $h) {
$add = $ReplTo;
echo("found");
}
$Result = $Result.$add;
}
return $Result;
}
Érdekes módon mindkettőt megtalálja, valamint azonnal krikszkraksz az eredmény...
Egyszerűsítve:
$what = 'ő';
$replto = "ö";
echo($what.$replto);
Így jó.
$what = mb_substr('ő', 0, 1);
$replto = mb_substr("ö", 0, 1);
echo($what.$replto);
Ez nem.
Vagyis a fő kérdések: mit értek félre?
Nekem multibájtos lesz a bemenetem, UTF8 XML-ből veszem majd az eredmény.
De érdekes módon valami elszúródik, amint multibájtos karakterekkel akarok műveleteket csinálni...
Vagy csak az összefűzés ront el valamit?
Minden segítséget köszönök!
Üdv: dd
■ Win7 HUN, UTF8 fájl.
function Test($Msg){
$Result = "";
$ReplFrom = "ő";
$ReplTo = "ö";
for($i=0; $i<mb_strlen($Msg); $i++){
$c = mb_substr($Msg, $i, 1);
echo($c);echo("<br>");
}
}
Test('őű');
Ez szépen kiírja: "őű"
Szeretném cserélni az "ő"-t "ö"-re egyenként, mert mást is akarok vizsgálni rajta...
function Test($Msg){
$Result = "";
$ReplFrom = "ő";
$ReplTo = "ö";
for($i=0; $i<mb_strlen($Msg); $i++){
$c = mb_substr($Msg, $i, 1);
$add = $c;
$h = mb_substr($ReplFrom, 0, 1);
if ($c == $h) {
$add = $ReplTo;
echo("found");
}
$Result = $Result.$add;
}
return $Result;
}
Érdekes módon mindkettőt megtalálja, valamint azonnal krikszkraksz az eredmény...
Egyszerűsítve:
$what = 'ő';
$replto = "ö";
echo($what.$replto);
Így jó.
$what = mb_substr('ő', 0, 1);
$replto = mb_substr("ö", 0, 1);
echo($what.$replto);
Ez nem.
Vagyis a fő kérdések: mit értek félre?
Nekem multibájtos lesz a bemenetem, UTF8 XML-ből veszem majd az eredmény.
De érdekes módon valami elszúródik, amint multibájtos karakterekkel akarok műveleteket csinálni...
Vagy csak az összefűzés ront el valamit?
Minden segítséget köszönök!
Üdv: dd
Add meg utolsó paraméterben