Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung des Beispielcodes für PHP zum Abfangen von n Zeichen beginnend an einer bestimmten Position in einem GBK-Dokument
Der folgende Editor bietet Ihnen eine PHP-Methode zum Abfangen von n Zeichen ab einer bestimmten Position in einem GBK-Dokument. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen
dkei20王nnsoTestbefehl:
#!/usr/bin/php <?php define('INPUT_FILE', 't.txt'); define('OUTPUT_FILE', 'a.txt'); $pos = max(intval($argv[1]), 0); $len = max(intval($argv[2]), 0); $file_size = filesize(INPUT_FILE); if($pos >= $file_size) exit; $fp = fopen(INPUT_FILE, 'rb'); $point = 0; //current byte position $string = ''; while(ftell($fp) < $file_size) { if($point >= $pos + $len) break;$byte = fread($fp, 1); //php version >= 5.4 $char = unpack('C', $byte)[1]; if($char <= 0x7f) { //single byte if($point >= $pos) $string .= $byte; $point += 1; continue; } else { //double bytes if($point >= $pos) { $string .= $byte.fread($fp, 1); } else { fseek($fp, 1, SEEK_CUR); } $point += 1; continue; } } fclose($fp); file_put_contents(OUTPUT_FILE, $string); ?>Ergebnisse anzeigen:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Beispielcodes für PHP zum Abfangen von n Zeichen beginnend an einer bestimmten Position in einem GBK-Dokument. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!