• Как получить выделенную часть HTML кода в ckeditor

    При написании плагинов для ckeditor'а, часто возникает задача: необходимо получить выделенную пользователем информацию, а в некоторых случая произвести манипуляцию с ней. Если необходим просто выделенный текст, то тут все просто. У объекта editor есть метод getSelection(), он возвращает объект, который помимо полной информации о выделенном тексте содержит еще метод getSelectedText(). В простейшем случае в плагине это бы выглядело так:

    CKEDITOR.plugins.add('pluginname',{
        init: function(editor){
    	alert(editor.getSelection().getSelectedText())
        }
    });

    Надеюсь Вам понятно, что плагин работать не будет. Это псевдокод. При инициализации плагина, никакой текст не выделен.

    А как же насчет html кода,  для работы необходим именно он.

  • Мои разработки

    сервисы

    PHP скрипты

    • class.db.php - очень удобная надстройка над mysql_query 
    • uno - удобная надстройка над joomla PDO
    • xddialog.php - система диалогов по примеру vk.com(vkontakte.ru)
    • tpl.php - простейший и очень удобный шаблонизатор на php
    • class.jimage.php - PHP класс для быстрой пакетной обработки изображений
    • miniMySQLAdmin- легкий аналог phpMyAdmin

    jquery plugins

    • xdGallery - небольшой плагин для создания галереи на jQuery
    • xdCloudTags  - необычное облако тегов
    • xdRetroClock - ретро часы на jQuery
    • xdCheckbox - стилизация элементов checkbox при помощи jquery плагина
    • DateTimePicker - удобнейший плагин для элементов формы выбора даты или времени

    JavaScript

    • selection - выполнено в виде jquery плагина, но не совсем плагин, а скорее просто реализация, того, как на js можно получить выделенный на странице текст
    • xdRectPacker - класс для упаковки произвольных прямоугольников внутри прямоугольника. Метод упаковывания крайне прост и от этого очень медлителен, поэтому не рекомендую использовать большое число блоков
    • xdFileStorage - библиотека для работы с файловой системой в браузере

    ckeditor plugins

    • onselect- создает в ckeditor событие на выделение текста
    • uploader - плагин создает в статус строке редактора кнопку, нажав на которую вы сразу же приступаете к выбру файла. После выбора файла, файл автоматически скачивается на сервер по AJAX и вставляется в страницу
    • XDSoft Translater- плагин для быстрого перевода текста с одного языка на другой. Может использовать 3 сервиса для перевода. Yandex Translate Maps API, Google Translate API и Bing Translate AP
    • syn - при клике на слове плагин выводит список его синонимов, очень удобно при рерайте статьи
    • stat - плагин выводит в статус строке редактора информацию о тексте: общее количество символов, количество выделенных символов, количество символов в Источнике
    • backup - при любом изменении текста плагин автоматически сохраняет в хранилище браузера весь текст с пометкой времени. Также в статус строке браузера плагин создает выпадающий список, в котором можно выбрать из истории правок нужный текст. Эта история не удалится даже при экстренном закрытии браузера, включая такие форс мажорные ситуации, как BSOD или выключение света