Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


проблема решилось таким скриптом
PHP код: Выделить весь код

<?php

header 
('Content-type: text/html; charset=utf-8');

/**
 * Чтение из не совсем русского файлика DOC
 *
 */

// Отрубаем нах сообщения по ошибкам
error_reporting(0);

// Рабочий файлец
$file_name 'changes.doc';

// Проверяем наличие
if (file_exists($file_name)) {

    
// Пробуем открыть
    
$handle = @fopen($file_name'r');

    
// Если открылось
    
if ($handle) {

        
// Ключ вывода активной строки
        
$key FALSE;

        
// Читаем построчно
        
while (($buffer fgets($handle1024)) !== false) {

            
// Найден конец вывода
            
if (stripos($bufferchr(0)) !== false) {
                if (
$key$key FALSE;
            }

            
// Найдено начало текста - ПОД ЧЕРТОЙ
            
if (stripos($buffer'ПОД ЧЕРТОЙ') !== false) {
                
$key TRUE;
                
$buffer substr($bufferstrrpos($buffer'ПОД ЧЕРТОЙ'));
            }

            
// Найдено начало текста - НАД ЧЕРТОЙ
            
if (stripos($buffer'НАД ЧЕРТОЙ') !== false) {
                
$key TRUE;
                
$buffer substr($bufferstrrpos($buffer'НАД ЧЕРТОЙ'));
            }

            
// Вывод активной строки
            
if ($key) {

                
// Имитация таблицы
                
$buffer str_replace(chr(13).chr(13), '<table><tr><td>'$buffer);
                
$buffer str_replace(chr(07).chr(07), '</td></tr><tr><td>'$buffer);
                
$buffer str_replace(chr(07), '</td><td>'$buffer);

                
// Вырезаем левые символы
                
$buffer str_replace(chr(32), ' '$buffer);      // пробел
                
$buffer str_replace(chr(07), ''$buffer);       // звонок
                
$buffer str_replace(chr(09), ' '$buffer);      // табуляция
                
$buffer str_replace(chr(13), '<br />'$buffer); // перевод строки

                
$buffer iconv("windows-1251""UTF-8"$buffer);    

                echo 
$buffer '<br />';

            }

        }

        
// Закрываем
        
fclose($handle);

    }

} else exit(
'WTF?');

-------
Information must be free!
Нет границ, есть только препятствия

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:50, 17-05-2012 | #4