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

Очень часто программисты беспокоятся о качестве кода и о скорости его работы. Пользователям же важен размер загружаемых страниц.

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

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

Работу функции можно рассмотреть на простом примере:

/*  передаем функции 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() - возвращает исходный буфер и закрывает буфферизацию.

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

Источник: http://devoid.com.ua/ Автор: Макагон Сергей


.