<? /* Создание хэша словаря Мюллера Скрипт на PHP4 для http://sk1.sourceforge.net/testing/ Автор: Андрей Черепанов <sibskull@mail.ru> Версия: 1.01 от 02.07.2005г. License: GPL v.2 */ $dictionary = "Mueller7GPL.koi"; $hash = "Mueller7GPL.hash"; $h = fopen($dictionary, "r"); $w = fopen($hash, "w"); echo "processing..."; // Read contents $a = array(); while( !feof($h) ) { $pos = ftell($h); $line = fgets($h, 15535); $pos2 = ftell($h); if ( preg_match('/^.+ /', $line, $matches) ) { $word = $matches[0]; $crc = crc32(trim(strtolower($word))); //$key = unpack('L', pack( 'L', $crc )); if( array_key_exists($crc, $a) ) { $a[$crc][1] = $pos2; } else { $a[$crc] = array( $pos, $pos2 ); } } } // Sort by keys ksort($a); reset($a); // Output to index file while (list($key, $val) = each($a)) { fwrite($w, pack( 'l', $key )); // CRC32 fwrite($w, pack( 'L', $val[0] )); // Offset (begin) fwrite($w, pack( 'L', $val[1] )); // Offset (end) } // Close files fclose($w); fclose($h); echo " done"; ?>