Win7-HUN、UTF8PHPファイル。
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('őű');
これは良いことを示しています:「őű」
「ő」を「ö」に置き換えたいのですが、他にも色々とチェックしたいので、ひとつひとつチェックしていきたいと思います。
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;
}
興味深いことに、すべての文字が見つかり、結果は間違っています。
連結するために簡略化:
$what = 'ő';
$replto = "ö";
echo($what.$replto);
これはいい。
$what = mb_substr('ő', 0, 1);
$replto = mb_substr("ö", 0, 1);
echo($what.$replto);
これは間違っています。
私は何を間違えますか?すべてのMB文字に足を踏み入れて確認したい。それらのいくつかが必要な場合、私は交換する必要があります。それらの一部が違法である場合は、「」に置き換えてください。などそして最後に1つの文字列に連結します。
例:"álmosőkörben+2""álmosökörben2"
しかし、私のコードに何か問題があります。マルチバイト入力とUTF8または16XMLがあるため、UTF8文字を使用したいと思います。また、一部のサーバーは英語で、一部はハンガリー語です(エンコードは異なります)。
しかし、MB文字を操作したいときに何かがおかしいのは興味深いことです。たぶん、連結がこれを引き起こしますか?
非常に-このテーマのすべての進歩に感謝します!
よろしく:dd