логин: 
<< предыдущая заметкаследующая заметка >>
20 февраля 2013
Чистка HTML-кода заметки средствами движка

Редактор erlte мне не нравится — он не легче, а при вставке большого текста (экспериментировал со сценариями) завешивает браузер на пару минут. А вот tinymce показал себя хорошо. Я думаю, себе его и оставить, а erlte удалить. Как мы помним, ckeditor оказался в дурацкой устаревшей кодировке, несовместимой с 1251 (а движок пока еще работает в ней), а ставить я его пытался только по той причине, что кто-то мне сказал, будто он умеет чистить html-код от мусора при вставке из Ворда.

В общем, я посмотрел на это дело, и решил чистку мусора написать самостоятельно. Для этого я сделал в дополнительной панельке редактора специальную кнопку («веник») и на нее повесил обработку. Инструкции по обработке лежат в файле template/system/editor_clean_html.txt

Это простой такой формат замены: сперва пишем, что заменить, затем | и на что заменить. Примеры:

&hellip;|...

<strong>|<b>

</strong>|</b>

<br>\n<br>|<p>

<span style="text-decoration: underline;">*</span>|<u>{1}</u>

<p style="*line-height: 100%;"*><span style="font-family: Courier New,monospace;"><span style="font-size: medium;">*</span></span>|<p class=cmn>{3}

Понятно, да? В левой части, где описывается чего искать, можно использовать * — это означает любую последовательность символов, кроме скобок тэгов (иначе выйдет за пределы, да поубивает местами текст, а ты и не заметишь). И одновременно последовательность запоминается, а в правой части можно написать {1} или {10} и получить соответственно текст, что был по месту первой по счету * или 10-й.

Поскольку универсальных рецептов по очистке километров вордовского говна нету (а у меня и Ворда для этих целей нету, у меня только Openoffice умеет перегонять в html при копировании текста в буфер для вставки в браузер, в нем наверно свои изящества), то я понаписал в файлике инструкций для своего случая. Чего и вам советую, если приспичит.

PS: Забавно, что когда-то для перегонки какого-то сценария мне пришлось специально писать консольную утилиту на php с множеством preg_replace, постоянно в них путаясь и забывая какие-то слэши в длиннющих негуманоидных выражениях. А здесь за полчаса само написалось, формат файла удобный,никаких слэшей не надо, движок сам сообразит.

PPS: Движок сегодня зарелизил: выкатил себе в /dnevnik и корень lleo.me последние изменения движка недели за три. Все нормально, никаких сбоев не замечено. Изменилось там много чего: всякие редакторы, исправлена ошибка в поиске по заметкам, и еще куча всякого, включая систему правки — самая старая часть движка, постепенно довожу до ума.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Linux Firefox
 Москва
4
0
Фыва Jr Олдж (#2024145)
> ckeditor оказался в дурацкой устаревшей кодировке, несовместимой с 1251

Я смеял! :-) Это всякие 1251 да koi-8 устаревшие кодировки по сравнению с utf-8, который как раз устаревшим и не является.
Linux Opera
 Москва
0
0
Leonid Kaganov
Устарела не сама кодировка utf8, а идея писать в начало файла стартовый заголовок.
Linux Firefox
 Москва
0
0
Фыва Jr Олдж (#2024145)
Вантуз до сих пор пишет. То ли Wordpad, то ли Notepad, не помню кто, но кто-то из них. И редактор в Microsoft Visual Studio пишет. А вот FAR не пишет :-)
Windows IE
0
0
D.iK.iJ
Ну, визуальный редактор писал сам на ваших же функциях Взял-Забил... :) А вот с Вордом пока даже и не знаю что делать. Лучше всего работает Копировать - Вставить - Почистить от двойных пробелов и табуляции. Ну а теги и так добавить можно.
Еще как вариант - загружал длинные тексты в Журнал Самиздат. Тот и таблицы рисует и картинки обрабатывает. Только чистить за ним много нужно.

P.S. А почему не вырезать теги Джаваскриптом? Замечательно и очень быстро реализуется ведь!
Linux Firefox
 Москва
0
0
Leonid Kaganov
Вы внимательно заметку прочли?
Windows IE
0
0
D.iK.iJ
Раза три. Не больше. :)
<< предыдущая заметка следующая заметка >>