25.03.2010, 23:38
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
RegExp тоже медленно работает когда много текста, это раз. Во вторых мы заменим текст полностью. У объектов потеряются все мануально установленные свойста, в некоторых браузерах и события. Ещё и фрэйма перезагрузятся) это так, на вскидку вспомнил.
Не выход короче.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
25.03.2010, 23:53
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Эх похоже, придётся таки тестировать самому.) События и прочее - не волнует, просто парсится 1+мб форматированного текста на предмет ненужных тегов.
У меня сейчас есть вариант через innerHTML, работает в приципе достаточно быстро.(куда дольше грузится сам текст=) ).
Просто на первый взгляд, в случае когда единожды берётся innerHTML прогоняется через реплейс и вставляется, скрипт должен работать быстрее чем через кучу операций с DOM для каждого конкретного тега. Плюс могут вылезти заморочки с вложенностью, как подумаю об этом... =)
|
|
26.03.2010, 11:55
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
А вы не думайте
Для каждой задачи свои решения, кстати IE возвращает не правильный innerHTML ...
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.03.2010, 11:58
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Nekromancer
|
IE возвращает не правильный innerHTML ...
|
Что значит неправильный?
|
|
26.03.2010, 12:13
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Теги в верхнем регистре и атрибуты без кавычек. С точки зрения грамотности это не очень правильно.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.03.2010, 12:16
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Nekromancer
|
Теги в верхнем регистре и атрибуты без кавычек.
|
Вполне себе правильный HTML.
|
|
26.03.2010, 12:33
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Не надо сейчас вредничать Разве вы пишите такой html? С точки зрения html он может и правильный, а с точки зрения современного написания кода нет.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.03.2010, 12:41
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Что такое современное написание кода? Есть стандарты, даже как минимум два: HTML и XHTML. В XHTML innerHTML вообще нет, остаётся один. По стандарту HTML всё нормально. Firefox, кстати, как минимум удаляет / у одиночных тегов, у оперы теги тоже в верхнем регистре.
Отдавать из innerHTML то, что было получено с сервера, браузеры тоже не могут, хотя бы потому, что на выходе должен быть правильный HTML, а на входе может быть и неправильный. Но это не единственная причина.
Вобщем просто не надо парсить innerHTML регулярками, и обвинять браузеры тоже не надо, они каждый по своему его отдают.
|
|
26.03.2010, 13:03
|
|
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
Сообщение от Aetae
|
взять innerHTML и его просеять регэкспом
|
при этом Вы потеряете обработчики событий, свойства объектов DOM и ссылки на эти объекты.
|
|
26.03.2010, 13:10
|
|
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
Кстати, рискну, Вам нужно именно удалять эти теги, или достаточно сделать их незаметными?
<style type="text/css">
strong {font: inherit}
</style>
<h1>Продажа яваскрипта оптом.</h1>
<p>Наша компания занимает оптовыми <strong>поставками яваскрипта</strong> в отдаленные горные аулы.</p>
<p>Наш <strong>яваскрипт</strong> — самый <strong>качественный яваскрипт</strong> на рынке <strong>яваскрипта</strong>!</p>
(Ох уж, это тёмно-серое СЕО!..)
|
|
|
|