Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Парсер html страницы (https://javascript.ru/forum/jquery/32863-parser-html-stranicy.html)

-Lesnik- 01.11.2012 18:08

Парсер html страницы
 
Доброго времени суток)

Начинаю разбираться с jquery.
Надо с внешней странички достать несколько строк кода.
Текст страницы примерно такой:
<body>
....не нужный код...

<span></span> <img /> <b> текст1 </b> текст2 <a> </a> [текст3] <br>

</body>

Надо вытащить такую строку. Их может быть несколько, идут друг за другом. Хочется вытащить не больше 10.
Ни один тег не отмечен 'id'.

Что делаю:
$().load('url span.class:lt(10), img[src*=inf], b, a, ,br');

Две проблемы: теряются текст2 и [текст3], а также попадают не нужные теги, в частности <b>какой то текст из шапки</b>.

Ну и код мне кажется не правильным. Корявым что ли.

Что делаю не так?

NikolasGrad 02.11.2012 02:21

По моему можно адекватно получить только "текст1"
text1 = $('span + img + b').text();

По вашему коду "текст2" и "[текст3]" вообще не обернуты и находятся в <body>.

-Lesnik- 02.11.2012 09:19

Цитата:

Сообщение от NikolasGrad
text1 = $('span + img + b').text();

Таким образом я получу все мои строки, правильно? Могу ли я и как между этими строками вставить свой код?

А насчет текст2 и текст3 - возможно ли взять body без всех тегов и тогда там останется то, что мне нужно? Правда, как этим потом пользоваться?

И вопрос общий: может эта задача легче и проще решается средствами javascript?

vadim5june 02.11.2012 18:03

Цитата:

Сообщение от -Lesnik-
И вопрос общий: может эта задача легче и проще решается средствами javascript?

В библиотеке Prototype есть такой код для удаления тэгов
String.prototype.stripTags= function() {
    return this.replace(/<\/?[^>]+>/gi, '');}

а для выделения нужной области удобно пользоваться методом split
например txt.split('<span>');


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