0

utf-8エンコーディングを使用したphpのファイルの処理に深刻な問題があります。小さなチャンクを修正して、ファイルを文字ごとに、または場合によっては行ごとに読み取る必要があります。fgetcfgetsを使用しようとしましたが、utf8でエンコードされた文字は、1つだけではなくいくつかの「chars」に分割されます。解決策を見つけようとしています。Unicodeの文字のみを含む小さな「文字列」である可能性もありますが、ファイルから正しく読み取る必要があります。

使用したい擬似コード:

while ( ($c == read_utf8_char($file)) != false ) {
    if ($c == 'ó') do_something();
}

よろしくお願いします。

4

1 に答える 1

0
function mb_str_split($string) { 
    return preg_split('/(?<!^)(?!$)/u', $string ); 
} 

$chars = mb_str_split($file);

foreach ($chars as $c) {
    if ($c == 'ó') do_something();
}

〜出典:http ://www.php.net/manual/en/function.mb-split.php#99851

于 2012-05-30T10:51:27.967 に答える