В наше время, когда большинство пользователей Интернета работают в нем через dial-up с помощью модема, остро стоит вопрос о скорости загрузки сайта. Очень долгая загрузка, естественно, не доставляет никомуудовольствия. Конечно, основной способ уменьшить объем странички — использовать меньше графики, аппетов и т. д. Этим должны заниматься сами Web-мастеры. Есть и другой способ — оптимизировать код HTML, т. е. убрать лишние пробелы, переносы строк, заменить длинные теги аналогичными, но короткими. Если при этом сайт состоит, допустим, из ста страниц, то каждую редактировать долго и нудно. Лучше доверить эту работу скрипту.
• заменять некоторые длинные теги короткими.
Вы усмехнетесь и скажете, что этого мало и загрузка страничек едва ли ускорится. Но когда вы увидите, как скрипт уменьшает объем странички, сделанной в визуальном редакторе примерно на 30 %, вы убедитесь в своей неправоте.
Рассмотрим скрипт, который облегчит жизнь посетителям вашей странички.
/* тут начинается скрипт */
<?php
/* запускать скрипт следует с параметром files, равным имени файла, подлежащего оптимизации */
/* открываем файл с именем, указанным в параметре files, для чтения */
$fp = fopen($files, "r");
/* читаем данные из файла в массив $soo */
$soo = fread($fp, filesize( $files ));
/* убираем все переносы строки */
$soo = str_replace("n", "", $soo);
/* заменяем все пробелы более одного подряд одним пробелом */
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
$soo = str_replace(" ", " ", $soo);
/* надеемся, более десяти пробелов подряд нам не встретится */
/* теперь убираем все пробелы между кавычками > и < */
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
$soo = str_replace ("> <", "><", $soo);
/* убираем все пробелы перед и после кавычек (думаем, больше 5 пробелов не будет)*/
$soo = str_replace("< ","<", $soo);
$soo = str_replace("< ","<", $soo);
$soo = str_replace("< ","<", $soo);
$soo = str_replace("< ","<", $soo);
$soo = str_replace("< ","<", $soo);
$soo = str_replace(" >",">", $soo);
$soo = str_replace(" >",">", $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);
/* закрываем файл */
fclose($fp);
/* теперь открываем этот же файл для записи */
$fp = fopen($files, "w");
/* заменяем старый код оптимизированном из массива $soo */
$fw = fwrite($fp, $soo);
/* закрываем этот файл (теперь уже окончательно) */
fclose($fp);
/* конец скрипта */
?>
Для удобства можно сделать страничку с формой (одно поле текста с именем files и кнопка «Submit») и action, равным имени скрипта-оптимизатора, где нужно указать имя файла и нажать на кнопку. В этом случае нужно будет сделать мета-тег в скрипте, возвращающий вас на страничку с формой:
Теперь вы умеете писать скрипты на РНР. Фантазируйте, модифицируйте, обязательно придумывайте что-то свое. Ведьэтотязык, на самом деле, дает очень широкий простор для вашей мысли. Реализовать можно очень много интересных вещей. И гостевая книга или счетчик — это капля в море, по сравнению с перспективой ваших идей в области РНР. Успехов вам в дальнейших разработках.