Непонятные действия JavaScript

JavaScript AJAX

Пишу extension для firefox. Хочу вырезать кусок текста со странички, например хэдер <h1>.
Вот код:
var begin_h = html.indexOf("<h1 class=\"header\">");
var end_h = html.indexOf("</h1>");
var data = "";
if (begin_h != -1 && end_h != -1) {
data = html.substr(begin_h, end_h + 5); //5 - это длина тега </h1>, чтобы его тоже захватило
}

Мне возвращается большой кусок текста, в котором этот хэдер полностью присутствует, но кроме этого еще куча текста, которая не заканчивается на </h1>.
В чем может быть проблема?

Примечание:
Ооооооо....) пардон, это моя ошибка.
в html.substr второй параметр должен быть длиной строки, изменил на
data = html.substr(begin_h, end_h + 5 - begin_h); Заработало ^_^

Примечание:
Vindicar, я вырезаю хедер не с html, а с куска произвольного текста)
Но все равно)
Ответы:
indexOf на HTML? Ужас.
Изучите работу с DOM, а потом, если будет желание - с XPath. То, что у вас сейчас - ужасный говнокод.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.