Оптимизируем HTML


Оптимизируем HTMLМорда: СтандартнаяСераяЗеленая Главная / Портфель / Оптимизируем HTML Запомнить № 18:
 Оптимизируем HTMLОпубликовано:
 7 января 2003Изменено:
 16 января 2003 | Если вы просто помешаны на оптимизации и хотите убрать всё лишнее из HTML — ненужные переводы строк, кавычки в некоторых атрибутах тегов, вашему вниманию предлагается следующий метод, делающий это за вас.Такую оптимизацию очень удобно делать в методе @postrocess класса MAIN.
#######
@postprocess[buffer][attr_string;code;code_num;replace]
# вытаскиваем содержимое тегов pre, script в таблицу $code
$code[^buffer.match[<(pre|script)(.*?)>(.+?)</\1>][ig]]
# меняем теги <pre>...</pre> на <pre>1</pre>, <pre>2</pre> ... и <script> тоже
$code_num(1)
# код замены
$replace{<^match.1.lower[]$match.2>$code_num</^match.1.lower[]>^code_num.inc(1)}
$buffer[
^buffer.match[<(pre|script)(.*?)>(.+?)</\1>][ig]{$replace}
]
$buffer[^trim[$buffer]]
# attr="*" меняем на attr=*
# строка атрибутов у которых надо убрать кавычки
$attr_string[class|align|width|bgcolor|border|cellpadding|cellspacing]
$buffer[^buffer.match[($attr_string)="(.+?)"][ig]{$match.1=$match.2}]
# убираем лишние, но не все!, переводы строк и табуляторы
$buffer[^buffer.match[(\s{2,})][g]{^match.1.left(1)}]
# вывод результата,
# возвращаем теги <pre>, <script> в первоначальное состояние
# код замены
$replace{<${match.1}$match.2>^taint[as-is][$code.3]</$match.1>^code.offset(1)}
$result[^buffer.match[<(pre|script)(.*?)>(\d+)</\1>][g]{$replace}]
#######
# Copyright Michael Petrushin (http://misha.design.ru/)
# обрезает начальные и конечные символы char.
# если char не задан - то обрезает начальные и
# конечные пробельные символы
@trim[str;char][chr;tbl]
^if(def $str){
$chr[^if(def $char){$char}{\s}]
$str[^str.match[^^$chr*][]{}]
# $result[^str.match[$chr+^$][]{}]
# эта замена существенно быстрее на больших текстах
$tbl[^str.match[^^(.*[^^$chr])$chr*^$]]
$result[$tbl.1]
}{
$result[]
}
Определите этот метод в нужной странице или если вы хотите обрабатывать все страницы каталога и подкаталогов ниже или всего сайта то в auto.p каталога или в корне сайта соответственно.<< № 17 | Содержание | № 19 >>Из последнего№ 24 Работаем с .htpasswd 08.11.2003 (Изменено: 10.01.2004)№ 23 Самодокументирование парсерного кода 14.09.2003№ 22 Работаем с RSS 21.02.2003№ 21 Топологическая сортировка 16.02.2003№ 20 Установка 3-го парсера на хостинге 350mb.ru 12.02.2003ПолезноеParser 3Parser.ruДизайн и usabilityПаранойя оптимизатораПравильный HtmlГлавная / Портфель / Оптимизируем HTML Запомнить Информация о сервереАвторРегистрация/настройки
содержание | 2 | Как увидеть обратную сторону Луны?
Используются технологии uCoz