Как мне программно получить живое содержимое открытого текста etherpad?

Этот вопрос возник в списке рассылки etherpad-open-source-discuss, и я подумал, что было бы полезно разместить его здесь.


person dreeves    schedule 28.10.2010    source источник


Ответы (5)


Просто создайте такой URL-адрес и получите его:

http://dtherpad.com/ep/pad/export/foo/latest?format=txt

Это позволит получить живое текстовое содержимое http://dtherpad.com/foo.

Например, в PHP вы можете получить его с помощью

file_get_contents("http://dtherpad.com/ep/pad/export/foo/latest?format=txt")

Обратите внимание, что это всего лишь ссылка «Экспорт в обычный текст», которая есть в меню «Импорт/Экспорт» каждого пэда.

person dreeves    schedule 28.10.2010
comment
Argh, John McLear обновил это для последней версии Etherpad (спасибо!), но кто-то другой отклонил его, и теперь он не позволяет мне его принять. - person dreeves; 27.05.2013

Несколько других возможностей:

  • В браузере вы можете нажать http://your- etherpad-server.com/ep/pad/view/padId/latest?pt=1
  • В коде совместного редактора (ace2_inner.js) используйте rep.alltext
  • В javascript Etherpad используйте pad.text для самой последней версии pad.getRevisionText(rev.revNum) для указанной предыдущей версии.
person ari    schedule 28.10.2010

Похоже, что функции javascript, упомянутые Ари в его ответе, больше не присутствуют в текущих версиях Etherpad, реализованных на таких сайтах, как http://etherpad.mozilla.org

Однако теперь вы можете просто использовать следующую функцию javascript в javascript eherpad, чтобы получить текст последней версии.

padeditor.ace.exportText()
person Akshay Agarwal    schedule 28.06.2012

Вы можете получить текстовое содержимое etherpad, используя jQuery, как:

jQuery(document).ready(function(){
    jQuery('#export').click(function(){
        var padId = 'examplePadIntense';//Id of the div in which etherpad lite is integrated
        var epframeId = 'epframe'+ padId;
        var frameUrl = $('#'+ epframeId).attr('src').split('?')[0];
        var contentsUrl = frameUrl + "/export/txt";
        jQuery.get(contentsUrl, function(data) {
            var textContent = data;
        });
    });
});
person Arvind Bhardwaj    schedule 13.09.2012

Вы также можете использовать getText HTTP API для получения содержимого пэда.

Подробнее см. мой другой ответ.

person Shoan    schedule 27.11.2018