1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Сжатие вашей HTML страницы с использованием PHP

Тема в разделе 'PHP', создана пользователем mr.Slink, 28 апр 2010.

  1. TopicStarter Overlay

    mr.Slink Пользователи

    Сообщения:
    261
    Лайки:
    92
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    odoRemasrered
    Страна:
    Russian Federation Russian Federation
    Очень часто программисты беспокоятся о качестве кода и о скорости его работы. Пользователям же важен размер загружаемых страниц.

    Загружая "легкие" страницы, пользователи в одном из случаев экономят время(счастливые обладатели модемов), в другом случае - траффик(ADSL). Потому рассмотрим простой пример на PHP, который позовляет корректировать исходный текст страницы, которую выводим. Для этого будем использовать стандартную функцию РНР - ob_start().

    Используя эту функцию мы можем получить доступ ко всему исходному потоку, который отправляем пользователю и подкорректировать его так как нам нужно, удалив из HTML - все ненужное.

    Работу функции можно рассмотреть на простом примере:
    Код:
    <?php
    /*  передаем функции compress_page управление исходным потоком  */
    ob_start('compress_page');
    
    ?>
    <!-- здесь весь xhtml контент -->
    <?
    /*  конец управления буфером и вывод контента */
    ob_end_flush();
    
    /*  функция которая избавляется от всех ненужных сочетаний символов  */
    function compress_page($buffer)
    {
    $search = array('/>[^S ]+/s','/[^S ]+</s','/(s)+/s');
    $replace = array('>','<','1');
    return preg_replace($search, $replace, $buffer);
    }
    ?>
    Следует отметить что при вызове функции ob_start в качестве параметра мы передаем функцию, которая будет обрабатывать исходный поток.

    Также чтобы очистить поток, можно воспользроваться функцией ob_end_clean. При неудачном вызове каждой их этих функций, получаем FALSE.

    ob_end_flush() - возвращает исходный буфер и закрывает буфферизацию.

    Теперь обработка исходного текста страницы легко может быть откорректирована программистом.

    Автор: Макагон Сергей
Черновик сохранён Черновик удалён

Поделиться этой страницей