Форумы|phpBB-WAP
Убираем мусор из html и css

<<Пред. | След.>>
1,2
Сообщения
1. Ъb[184](Off)Отв|Цит|ЛС
20 Фев 2011, 11:40
Все мы наверное ходим http://www.google.ru/ или http://www.yandex.ru/ и видим как огромный документ моментально загружается можно сказать залетаем туда. При всем при том эти страницы содержат очень много скриптов и кода.
Но почему же так все быстро загружается? Ответ на этот вопрос можно увидеть в исходном коде. Весь ко ужат и написан без лишних пробелов, табуляций и переносов. Но тут же возникает вопрос как такое редактировать написанный в шаблонах код не удобно редактировать, остается фильтровать в php.
вот рассмотрим файл template.php там видим

            if (!$do_not_echo)
            {
               $code_lines[$i] = 'echo \'' . $code_lines[$i] . '\' . "\\n";';
            }

теперь заменяем это дело на


             if (!$do_not_echo)
            {
               $code_lines[$i] = 'echo \'' . $code_lines[$i] . '\' . "";';
            }
 
2. Ъb[184](Off)Отв|Цит|ЛС
20 Фев 2011, 11:40
Теперь имеем на выходе весь код в строчку, за исключением css, открываем functions.php и там есть функция

 function style_text()
{
   global $db, $board_config, $userdata;

   if( $userdata['session_logged_in'] )
   {
      $sql = 'SELECT style_text
         FROM ' . USERS_TABLE . '
         WHERE user_id = ' . (int) $userdata['user_id'];
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Could not query database for style text');
      }
      $row = $db->sql_fetchrow($result);
      return $row['style_text'];
   } else {
      $sql = 'SELECT *
         FROM ' . STYLES_CSS . '
         WHERE style_id = ' . (int) $board_config['default_style'];
      if( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, "Could not query style information", "", __LINE__, __FILE__, $sql);
      }
      $row = $db->sql_fetchrow($result);
      return $row['style_text'];
   }
}
 

её заменяем на


 function style_text()
{
   global $db, $board_config, $userdata;

   if( $userdata['session_logged_in'] )
   {
      $sql = 'SELECT style_text
         FROM ' . USERS_TABLE . '
         WHERE user_id = ' . (int) $userdata['user_id'];
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Could not query database for style text');
      }
      $row = $db->sql_fetchrow($result);


      $css = $row['style_text'];
      $css= str_ireplace(array("\r","\n","\t"),'',$css);
      $css= str_ireplace(array("  ","&nbsp;&nbsp;")," ",$css);
      return $css;
   } else {
      $sql = 'SELECT *
         FROM ' . STYLES_CSS . '
         WHERE style_id = ' . (int) $board_config['default_style'];
      if( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, "Could not query style information", "", __LINE__, __FILE__, $sql);
      }
      $row = $db->sql_fetchrow($result);
      $css = $row['style_text'];
      $css= str_ireplace(array("\r","\n","\t"),'',$css);
      $css= str_ireplace(array("  ","&nbsp;&nbsp;")," ",$css);

      return $css;
   }
}
 
3. Ъb[184](Off)Отв|Цит|ЛС
20 Фев 2011, 11:40
И вот теперь вся страница на выходе у нас в строчку, но скажете вы: "Вот гад у меня теперь счетчики не работают и скрипты!!"
Не беда некоторым функциям и операторам в javascript требуется новая строка, будем её создавать. Открываем файл который всюду инклудится page_header.php

находим

$template->assign_vars(array(

после чего вставляем

   'BR' => "\n",


Эта штука делает переносы, далее открываем нужную tpl и там в месте где нужен перенос вставляем {BR} и все работает.
Думаю наглядно объяснил, если чего спрашивайте
__________
посл.ред. 20 Фев 2011, 11:44; всего 1 раз
4. Ъb[184](Off)Отв|Цит|ЛС
20 Фев 2011, 11:42
еще есть фича для ужимания javascript кода http://fmarcia.info/jsmin/test.html
5. Fantom[430](Off)Отв|Цит|ЛС
23 Фев 2011, 21:56
Как показали опыты, для вапа это мало актуально. Экономия трафика не превышает 5%, но для веба ощутимо.
6. -ЙоЖеГ-[3228](Off)Отв|Цит|ЛС
23 Фев 2011, 22:01
Fantom, зато код красивее
7. spamboo[446](Off)Отв|Цит|ЛС
23 Фев 2011, 22:04
6 в каком месте?простой гемор
8. Fantom[430](Off)Отв|Цит|ЛС
23 Фев 2011, 22:21
Код в одну строку идёт. Это не очень красиво. Но траф экономится не много.
9. TOOZ[2134](Off)Отв|Цит|ЛС
23 Фев 2011, 22:23
Помоему,лучше было бы не пробелы и табулюции сносить,а снести таблици  И такое уже делали ранее.
10. M0rbid[712](Off)Отв|Цит|ЛС
24 Фев 2011, 4:52
Спасибо за инфу.
Другой вариант, можно перехватывать то что идет в браузер и одной строчкой

str_replace($array1, $array2, $page);

заменить все что душе угодно.

Но имхо такие вещи давно не актуальны.

<<Пред. | След.>>
1,2

Ответить на тему
Сохранить в txt