• Как получить plain text из файла .doc на php?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Тема очень интересная и пришлось разобраться до конца.
    До полного счастья вам не хватает этого:
    $extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );

    И всё вместе будет:
    function read_doc_file($filename) {
        if (file_exists($filename)) {
            if (($fh = fopen($filename, 'r')) !== false) {
                $headers = fread($fh, 0xA00);
    
                // 1 = (ord(n)*1) ; Document has from 0 to 255 characters
                $n1 = ( ord($headers[0x21C]) - 1 );
    
                // 1 = ((ord(n)-8)*256) ; Document has from 256 to 63743 characters
                $n2 = ( ( ord($headers[0x21D]) - 8 ) * 256 );
    
                // 1 = ((ord(n)*256)*256) ; Document has from 63744 to 16775423 characters
                $n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );
    
                // 1 = (((ord(n)*256)*256)*256) ; Document has from 16775424 to 4294965504 characters
                $n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );
    
                // Total length of text in the document
                $textLength = ($n1 + $n2 + $n3 + $n4);
    
                $extracted_plaintext = fread($fh, $textLength);
                $extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );
                return nl2br($extracted_plaintext);
    
            } else {
                return FALSE;
            }
        } else {
            return FALSE;
        }
    }
    
    $text = read_doc_file('test.doc');


    А пока изучал, нашёл интересный тест, может пригодиться:
    $text = "A strange string ø, æ, å, ж, п, ą, ū, ė, …"; 
    foreach(mb_list_encodings() as $chr){ 
        echo mb_convert_encoding( $text, 'UTF-8', $chr ) . " : " . $chr . "<br><br>";    
    }
    Ответ написан
    4 комментария
  • Как правильно подключать javascript-плагины в HTML-странице?

    fr_end
    @fr_end
    Frontend разработчик
    Да, в таком случае страница успеет прогрузиться и отобразиться, прежде чем начать подгружать скрипты - это дает выигрыш в юзабилити. Но если скрипты влияют на отображение страницы - их нужно подгружать в хеде.
    Ответ написан
    Комментировать
  • События для динамически добавленных в DOM элементов?

    Jakim
    @Jakim
    Laravel - developer
    $(function() {
            $(document).on('click touchstart', '.selector', function(){ 
                console.log($(this));
            });
        });

    Ребятки, добавляем такой кусок кода в js и ловим все события как на телефоне так и на ПК, кроссбраузерно кроссплатформенно.
    Не ищите других способов, ибо кто пишет про .delegate() или .live() давно не читали доку jQuery.
    Ответ написан
    Комментировать