Парсинг выделенного фрагмента [текста] на веб-странице.
Здравствуйте!
Пишу скрипт под Greasemonkey, который должен помочь мне в копи-паст делах :) Что я хочу: Есть сайт-источник и сайт-цель. Статьи на разных СИ оформлены по-разному. На СЦ они все приводятся к одному виду, который предусматривает наличие нескольких составных частей у статьи. Если константы я получаю из "базы", то с переменными данными (датой, краткой версией, преамбулой, основным текстом) - морока. Приходится "скакать" по вкладкам и переносить все эти части по очереди. Во-первых, думаю над тем, как собрать все переменные части и потом разом перенести на страницу с формой. Пока решил делать так: выделять по очереди все части и нажатиями хот-кеев - добавлять их в строку, отформатированную специально "под массив", которую потом просто скопировать в буфер и перенести на страницу с формой. Тут, хотя бы идея есть. Но основной камень преткновения - Основной текст. На сайте источнике он отформатирован по-разному, а на сайте-цели его нужно перенести в BB-кодах. Как подойти к решению этого вопроса не знаю. Ну, выделил я нужный фрагмент текста (с ссылками, болдами, италиками) ... и как его "отпарсить"? Думал про парсинг исходного кода - но там часто "страшная каша" бывает. И я еще не знаю как "добираться" до исходного кода через Javascript. Может быть есть возможность отпарсить выделенный фрагмент как DOM-элементы? Тем более тогда, как я понимаю, будет доступен т.н. скомпилированный стиль и не нужно копаться в <i> <em> <b> <strong>. Подскажите, возможно-ли такое? На какие функции обратить внимание? Спасибо. P.S. Забыл написать, что в Javascript - я совсем чайнег. |
ваша задача весьма неклассическая.
учите JS потихоньку либо обращайтесь в раздел работа |
На многие "классические" задачи в сети уже есть ответы :)
Я учу. Но много времени уходит на такой неэффективный копипастинг, если я пару рабочих строк в день напишу - большой успех. Ладно, пойду дальше :thanks: Дополнено: Вот, уже кое-что: Range, TextRange и Selection на Fastcoder.org |
Часовой пояс GMT +3, время: 05:38. |