Сбор каждого слова в дереве DOM документа с помощью JavaScript - PullRequest
1 голос
/ 04 июня 2009

Предположим, у вас есть большой документ с ~ 7000 слов. Мне нужно отправить все данные на сервер. У меня нет шансов использовать jquery, прототип и т. Д. Это должен быть чистый OO Javascript. Пример страницы будет json русская страница Я исключу все теги и HTML-разметку из слов.

Мой вопрос;

1. Как я могу собрать / собрать все (utf8) слова из документа? 2. Как я могу преобразовать результат в данные JSON?


Спасибо

1 Ответ

3 голосов
/ 04 июня 2009

Это действительно не похоже на работу для объектно-ориентированного программирования. Сексуальная рекурсивная функция будет работать намного лучше.

 var output=[];

 function scan(element) {
    var children=element.childNodes;
    for (var child in children){
        if (children[child].nodeValue) {
            output.push(children[child].nodeValue);
        }else {
            scan(children[child]);
        };
    };
 };

 scan(window.document.body);

Это не разбивает текст на отдельные слова и даже не создает JSON, но даст вам список отдельных слов. Вам все еще нужно сделать некоторую очистку текста. За 2 секунды тестирования я обнаружил, что ему нравится отображать текст всего, включая javascript и переводы строки (\ n). Возможно, если я захочу, я добавлю больше кода. Но это должно помочь вам.

Для преобразования в JSON попробуйте код toJSON Дугласа Крокфорда. Просто погуглите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...