我在使用utf-8编码处理php中的文件时遇到了一些严重的问题。我需要通过char或者逐行读取文件char,并使用固定的小块。 我尝试使用 fgetc 和 fgets ,但在utf8中编码的字符会分成几个“ chars ”而不是一个。我正在尝试找到一个解决方案,它甚至可能只是一个小的“ string ”,只包含Unicode中的字符,但必须正确地从文件中读取。
我想使用的伪代码:
while ( ($c == read_utf8_char($file)) != false ) {
if ($c == 'ó') do_something();
}
感谢您的帮助。
答案 0 :(得分: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