Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Парсинг выделенного фрагмента [текста] на веб-странице. (https://javascript.ru/forum/misc/9408-parsing-vydelennogo-fragmenta-%5Bteksta%5D-na-veb-stranice.html)

Don_Julio 14.05.2010 20:32

Парсинг выделенного фрагмента [текста] на веб-странице.
 
Здравствуйте!

Пишу скрипт под Greasemonkey, который должен помочь мне в копи-паст делах :)

Что я хочу:

Есть сайт-источник и сайт-цель.
Статьи на разных СИ оформлены по-разному.
На СЦ они все приводятся к одному виду, который предусматривает наличие нескольких составных частей у статьи.
Если константы я получаю из "базы", то с переменными данными (датой, краткой версией, преамбулой, основным текстом) - морока.
Приходится "скакать" по вкладкам и переносить все эти части по очереди.

Во-первых, думаю над тем, как собрать все переменные части и потом разом перенести на страницу с формой.
Пока решил делать так: выделять по очереди все части и нажатиями хот-кеев - добавлять их в строку, отформатированную специально "под массив", которую потом просто скопировать в буфер и перенести на страницу с формой. Тут, хотя бы идея есть.

Но основной камень преткновения - Основной текст.
На сайте источнике он отформатирован по-разному, а на сайте-цели его нужно перенести в BB-кодах.

Как подойти к решению этого вопроса не знаю.

Ну, выделил я нужный фрагмент текста (с ссылками, болдами, италиками) ... и как его "отпарсить"?

Думал про парсинг исходного кода - но там часто "страшная каша" бывает.
И я еще не знаю как "добираться" до исходного кода через Javascript.

Может быть есть возможность отпарсить выделенный фрагмент как DOM-элементы? Тем более тогда, как я понимаю, будет доступен т.н. скомпилированный стиль и не нужно копаться в <i> <em> <b> <strong>.

Подскажите, возможно-ли такое?
На какие функции обратить внимание?

Спасибо.

P.S.
Забыл написать, что в Javascript - я совсем чайнег.

Gvozd 14.05.2010 20:40

ваша задача весьма неклассическая.
учите JS потихоньку
либо обращайтесь в раздел работа

Don_Julio 14.05.2010 20:53

На многие "классические" задачи в сети уже есть ответы :)

Я учу.
Но много времени уходит на такой неэффективный копипастинг, если я пару рабочих строк в день напишу - большой успех.

Ладно, пойду дальше :thanks:

Дополнено:

Вот, уже кое-что:
Range, TextRange и Selection на Fastcoder.org


Часовой пояс GMT +3, время: 05:38.