Этот вопрос возник в списке рассылки etherpad-open-source-discuss, и я подумал, что было бы полезно разместить его здесь.
Как мне программно получить живое содержимое открытого текста etherpad?
Ответы (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")
Обратите внимание, что это всего лишь ссылка «Экспорт в обычный текст», которая есть в меню «Импорт/Экспорт» каждого пэда.
Несколько других возможностей:
- В браузере вы можете нажать 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)
для указанной предыдущей версии.
Похоже, что функции javascript, упомянутые Ари в его ответе, больше не присутствуют в текущих версиях Etherpad, реализованных на таких сайтах, как http://etherpad.mozilla.org
Однако теперь вы можете просто использовать следующую функцию javascript в javascript eherpad, чтобы получить текст последней версии.
padeditor.ace.exportText()
Вы можете получить текстовое содержимое 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;
});
});
});
Вы также можете использовать getText
HTTP API для получения содержимого пэда.
Подробнее см. мой другой ответ.