|
|
|
|
|
для: Dimon.st
(02.05.2006 в 12:52)
| | думаю тебе нужно использовать регулярные выражения http://wdh.suncloud.ru/js05.htm | |
|
|
|
|
|
|
|
для: dimon.st
(29.04.2006 в 20:12)
| | Всем спасибо, за ваше обилие ответов. | |
|
|
|
|
|
|
| Здравствуйте... Итак еще один вопрос по поводу оптимизации html кода, критерии:
1. Полностью автоматическое преобразования бреда вбитого юзером(читать злостным хакером) в не очень сложный код
2. Скорость выполнения и размер скрипта
Что собственно требуется:
йй<B bla="bla">ййййййй</B><B>йййййй</B>йййййй<span style="color:red"><span style="font-style:italic">й</span></span>ййййййй<input bla="bla" onclick="alert()">ййййййййй<U>й<U>й<U bla="bla">й<U>й<U>ййййййй</U>й</U>й</U>й</U>й</U>йй
|
преобразовать в:
йй<B>ййййййййййййй</B>йййййй<span style="color:red; font-style:italic">й</span>йййййййййййййййй<U>ййййййййййййййййй</U>йй
|
То есть:
1. одинаковые рядом стоящие теги слить(даже если это <span style="color:red" qqq="bla">) (в примере: B)
2. одинаковые вложенные друг в друга тэги слить (даже если это <span style="color:red" qqq="bla">) (в примере: U)
3. одинаковые вложеные тэги с разными атрибутами совместить (в примере: span)
4. гадость типа input или onclick убрать
5. гадость типа em поменять на i
Единственное решение которое приходит в голову:
рекрусивно перебрать все ноды, оставив только нужные тэги и атрибуты, а все остальное поменять или удалить (4 и 5 пункт) - не сложно
3 пункт тоже вроде не сложно хотя если знать как получить все заданные атрибуты у тэга(интересно как это сделать???)
1 и 2 очень сильный геморой к тому же как сравнивать разные тэги что бы выявить те которые надо сливать???
Если кто-нибудь знает скрипты либо подобные программы(только в исходниках) дайте плз...
Зарание спасибо.. | |
|
|
|
|