Не я один, наверное, сталкивался с вопросом, как скопировать из страницы не просто «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].