Как скопировать из страницы текст вместе с оформлением?

Не я один, наверное, сталкивался с вопросом, как скопировать из страницы не просто «plain text», а сохранить при этом форматирование — выделение цветом, италиком и т. д.?
Проблема осложняется тем, что исходный код страницы может быть разным. Это может быть html, а может — bb-code. Плюс, на выходе тоже может понадобиться или то, или другое.

То есть, проблема сводится к следующему:
1. Извлечение исходного, «сырого» текста.
2. Определение правил форматирования, использованных в данном конкретном случае.
3. Уточнение, на какие именно правила форматирования следует заменить те, которые используются в исходнике.
4. Создание текста с нужными нам правилами форматирования.

Объясню на примере.
Допустим, надо скопировать кусок текста новости с lenta.ru для рутрекера и наоборот.
На lenta.ru текст отформатирован с помощью html-тегов:
... Об этом сообщает <a href="http://www.afp.com/" target="_blank">Agence France-Presse</a> со ссылкой на газету The Beijing Times. Наводнение в Пекине было вызвано ливневыми дождями, признанными самыми сильными в регионе за последние 60 лет. <p>

На рутрекере вроде как тоже html используется, но стиль текста завязан на классы:
<span class="post-b">Похоже, космос стремительно переходит из сферы государственных интересов в сферу интересов частных. ... </span>

Соответственно, если копировать с lenta.ru на рутрекер, надо просто преобразовать html в bb-code:
<a href="http://www.afp.com/" target="_blank">Agence France-Presse</a> станет [url=http://www.afp.com/]Agence France-Presse[/url]

А для того, чтобы с рутрекера на lenta.ru — придётся выкусывать <span class="post-b">...</span> и превращать в <b>...</b>

В общем, идея понятна, надеюсь.
Я поискал в инете способы осуществления этого механизма и нашёл только 2 плагина для Firefox, которые реализуют нечто похожее. Первый позволяет копировать исходный код «под выделенным текстом» (Copy HTML). Второй — позволяет копировать выделенный текст с заменой html-разметки на BBCode-разметку (и то как-то неуверенно, по-моему).

Народ, признавайтесь, как решаете подобные задачи? Может есть скрипты Greasemonkey или плагины под лиса? Я готов даже софт юзать. Лишь бы была возможность как-то настраивать механизм подобного копирования «с заменой».
Может можно выстроить цепочку из онлайн-сервисов наподобие Cool HTML to BBCode Converter?

Пы Сы
А ведь иногда приходится копировать текст с форума на форум, и движки разные. Например, на одном форуме смещение влево указывается с помошью bbcod'а
[left]...[/left],

на другом —
[align=left] [/align].
  • Вопрос задан
  • 12311 просмотров
Пригласить эксперта
Ответы на вопрос 2
astrobeglec
@astrobeglec
Скрипт автозамены?
Например bash функция (или в скрипт)

cat > /tmp/filetemp
echo "Конвертированный текст"
sed "s/[старый]/[новый]/g" /tmp/filetemp

Копируем из консоли и все. Хотя все равно придется проверять ручками т.к. всех вероятности замен не перечислить.
Ответ написан
astrobeglec
@astrobeglec
Тема действительно мутная.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы