Web-mastering: портал вебмастеров (web-мастеров) о web-дизайне, web-программировании, раскрутке; статьи по веб-дизайну, веб-программированию для вебмастеров

Люди! Используйте PHP! - часть 3

Евгений Молодкин

Сейчас много говорят о том, что долгая загрузка странички - это плохо, очень долгая загрузка - очень плохо. Использовать меньше графики, навороченых скриптов и аплетов (за исключением, конечно, сайтов, которые посвящены графике или скриптам) - один из основных способов уменьшить объём странички. Этим должны заниматься сами Веб-мастеры. Есть и другой способ - убирать лишние пробелы, переносы строк, заменять длинные теги аналогичными, но короткими. Но зачастую некоторые пренебрегают таким прекрасным способом, говоря что-то вроде "У меня на сайте более 100 страниц!!! Да если каждую редактировать вручную, это ж с ума сойти можно!!!" (конечно, это не относится к профессиональным Веб-разработчикам). Так почему бы не отдать такую рутиную работу скрипту? Я никаких ПРОТИВ не вижу. Как вы уже догадались, скрипт будет написан на PHP. Итак, начнём.

Первое, что нужно сделать, это решить, что должен делать наш скрипт:
1. Убирать лишние пробелы.
2. Убирать все переводы строк.
3. Заменять некоторые длинные теги короткими.

Некоторые скажут - мало. Я тоже думал "мало", но после того, как я опробовал скрипт на страничке из Dreamweaver`а и та уменьшилась почти на 30 % (и это учитывая то, что Dreamweaver - одна из самых лучших программ для верстки страничек), я убедился, что этого будет достаточно, во всяком случае пока.

Сразу хочу сказать, чтобы в меня не швыряли помидорами заядлые программисты на PHP. Скрипт написан не из соображений компактности и быстродействия (зато в нём легко разобраться, да и скорость тут, в принципе, ни к чему).

Исходный код скрипта с коментариями:

<?php
/* Запускать скрипт следует с параметром files, равным имени файла, подлежащего оптимизации */
/* Открываем файл, с именем, указаным в параметре files, для чтения */
$fp = fopen($files, "r");
/* Читаем данные из файла в массив $soo */
$soo = fread($fp, filesize( $files ));
/* Убираем все переносы строки */
$soo = str_replace("\n","", $soo);
/* Заменяем все пробелы более одного подряд одним пробелом */
$soo = chop($soo);
/* Теперь убираем пробелы между кавычками > и < */
$soo = str_replace("> <","><", $soo);
/* Убираем пробелы перед кавычками и после кавычек*/
$soo = str_replace("< ","<", $soo);
$soo = str_replace(" >",">", $soo);
/* А теперь заменим нехорошие теги хорошими :) */
$soo = str_replace("<ADDRESS>","<I>", $soo);
$soo = str_replace("<STRONG>","<B>", $soo);
$soo = str_replace("<EM>","<I>", $soo);
$soo = str_replace("<STRIKE>","<S>", $soo);
$soo = str_replace("<BLOCKQUOTE>","<UL>", $soo);
$soo = str_replace("<VAR>","<I>", $soo);
$soo = str_replace("<CITE>","<I>", $soo);
$soo = str_replace("<CODE>","<TT>", $soo);
$soo = str_replace("<KBD>","<TT>", $soo);
$soo = str_replace("<SAMP>","<TT>", $soo);
$soo = str_replace("</ADDRESS>","</I>", $soo);
$soo = str_replace("</STRONG>","</B>", $soo);
$soo = str_replace("</EM>","</I>", $soo);
$soo = str_replace("</STRIKE>","</S>", $soo);
$soo = str_replace("</BLOCKQUOTE>","</UL>", $soo);
$soo = str_replace("</VAR>","</I>", $soo);
$soo = str_replace("</CITE>","</I>", $soo);
$soo = str_replace("</CODE>","</TT>", $soo);
$soo = str_replace("</KBD>","</TT>", $soo);
$soo = str_replace("</SAMP>","</TT>", $soo);
/* Закрываем файл */
fclose($fp);
/* Теперь открываем этот же файл для записи */
$fp = fopen($files, "w");
/* Заменяем старый код оптимизированным, из массива $soo */
$fw = fwrite($fp, $soo);
/* Закрываем этот файл (теперь уже окончательно) */
fclose($fp);
?>

У странички, оптимизированной этим скриптом будет одно преимущество: если её захотят скопировать, придётся долго разбираться в её исходнике (чтобы не скопировали прямо из броузера, см. статью "Как защитить от копирования текст на вашем сайте" номера 209 InternetZone).

Советую для удобства сделать страничку с формой (одно поле текста, с именем files и кнопка Submit) и action равным имени скрипта-оптимизатора, где нужно указать имя файла и нажать на кнопочку. Кстати, тогда лучше будет сделать мета-тег в скрипте, возвращающий вас на страничку с формой.

<meta http-equiv="refresh" content="0;URL=Ваша_страничка_с_формой">

Ещё один совет. Чтобы удлбнее оптимизировать странички (да и на будущее пригодиться) установите на домашнем компьютере Russian Apache и гипертекстовый процессор PHP, тогда можно будет производить отладку скриптов PHP "не отходя от кассы" :) Где взять и как настроить - см. сайт www.web.ru.

На этом и заканчивается серия статей о PHP. Главная задачей этих статей, чтобы вы поняли, как разнообразно применение PHP, какой это мощный язык программирования.

Хочу ещё раз сказать. Люди! Используйте PHP!

Евгений Молодкин,
E-mail: johny_webmaster@nm.ru

Назад

[an error occurred while processing this directive]

© 2006-2008 Web-mastering.net - "Портал вебмастеров"