Ckeditor greek characters и почему программист должен быть ленивым :-)
- 24 Февраля 2014
- Volodymyr Hodiak
- Разработка
- 2056
Во время обслуживание сайтов, задачи бывают разные. Ну раз клиент платит значит надо. Сегодня мы рассмотрим один пример обыденной задача программиста.
Итак, задача расширить стандартный набор спецсимволов ckeditora греческими сиволами. Ресурсы взяты из http://unicode-table.com/ru/sets/greek-symbols/. Ниже на фото, то что получилось.
От задачи к практике. Сначала нужно поправить конфиг редактора, а именно настройки плагина specialchar. Я решил убрать лишние символы, которые можно набрать с клавиатуры и оставить только необходимые.
Открываем конфиг ckeditor "ckeditor/config.js" и правим:
config.specialChars = [ '"', '&','<', '=', '>',"', '~', "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈ ];
Далее нужно дописать в массив новые символы. Вручную вносить лень. Проанализировав страницу фаербагом, вижу что все необходимые мне теги обрамленные тегом с классом html-код.
Это хорошо. Значит можно написать парсер. Открываем консоль и ваяем: $(document).ready(function(){ alert(1); });
Получили 1. Гут, значит магии jQuery достаточно. Тогда пару строчек кода:
$(document).ready(function(){ var a = []; $('.html-code').each(function(){ var s = $(this).html).replace('&','&'); a.push(s); }); console.log(a); });
на выходе получаем:
Остается только скопировать и добавить в конфиг новые символы.
config.specialChars = ['"', '&','<', '=', '>',"', '~', "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "Ŷ", "ŵ", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈", "Α", "Β", "Γ", "Δ", "Ε", "Ζ", "Η", "Θ", "Ι", "Κ", "Λ", "Μ", "Ν", "Ξ", "Ο", "Π", "Ρ", "Σ", "Τ", "Υ", "Φ", "Χ", "Ψ", "Ω", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "ς", "σ", "τ", "υ", "φ", "χ", "ψ", "ω"];
Как говорил Стив Джобс, — «Работать надо не 12 часов, а головой». Надеюсь вам пригодится.