Отправляет email-рассылки с помощью сервиса Sendsay

Windows и Интернет

  Все выпуски  

Windows и Интернет - Используем РНР


Информационный Канал Subscribe.Ru


Люди, используйте РНР.

 Разделы сайта

 Windows

 Web-Дизайн

 Photoshop

 PHP

 Реестр

 Опрос

 Faq по Windows XP

 Советы по железу

 

Рассылка Windows и Интернет.

 Внимание:

Открылся мой сайт по адресу www.windoc.narod.ru  . Это пока его начало существования, но недели через две-три он будет работать полностью. И статей, соответственно, будет больше. На главной странице я решил провести опрос, вопрос такой: "Нравится ли Вам дизайн этого сайта?" Если сможете, то ответте, т. к. автору очень важно знать мнение его посетителей. Также Вы можете добавить свои статьи в разделе Сотрудничество/Авторам. А теперь, собственно, и тема сегоднешней рассылки:

Мои координаты:

Сайт: windoc.narod.ru

Почта: linnik@xaker.ru

Гостевая

Форум

Номер ICQ: 205545243

 

 Используем РНР.

Сейчас много говорят о том, что долгая загрузка странички - это плохо, очень долгая загрузка - очень плохо. Использовать меньше графики, навороченных скриптов и аплетов (за исключением, конечно, сайтов, которые посвящены графике или скриптам) - один из основных способов уменьшить объём странички. Этим должны заниматься сами Веб-мастеры. Есть и другой способ - убирать лишние пробелы, переносы строк, заменять длинные теги аналогичными, но короткими. Но зачастую некоторые пренебрегают таким прекрасным способом, говоря что-то вроде "У меня на сайте более 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 = 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)
?>

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

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

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

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

 

Текст - Сергей Кондратьев. Издатель, дизайнер и автор рассылки - Лынник Дмитрий


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное