Regexp javascript как отпарсить много html кода

программирование html JavaScript regexp

Доброго времени суток.
подскажите пожалуйста как отпарсить кусок кода, в котором много таблиц, вот пример:
http://paste.org.ru/?3ncvm8

я пошел с конца блока, и сделал зацепку за text123... т.к однатипных блоков много, а удалить только 1 - 2..
htmmls.replace(new RegExp('\\s*<tr>\\s*<td .*><span .*>'+money_transfereds+'<\\/span><\\/td><td .*><img .*><\\/td><td .*><span .*>.*<\\/span><\\/td>\\s*<\\/tr>\\s*', "ig"), "")
При попытке в самом начале вписать <table .*> весь результат исчезает..или если в конце поставить <\\/table>\\s*
Подскажите пожалуйста как быть?


Примечание:
удалить надо все начиная с самого первого <tr> :)

Примечание:
ммм...нет, к сожалению не прокатит, тогда все потрется кроме текста) а надо удалить только 1 блок который в примере, а таких же блоков на странице более 2х будет)
я еще подумывал о варианте, как например каким то образом найти более 2х совпадений в блоке,и в tr поставить block:none.. но я не знаю как правильно это реализовать.
Ответы:
Может просто удалять все теги регуляркой типа
<\/?\w[^>]*>
?
Прелесть javascript в том, что HTML парсится автоматически браузером и раскладывается в DOM.
И даже если мы имеем HTML в виде строки, ничто не мешает нам затолкать этот код в <div id="OurHTML" style="display:none"></div>.
Для работы с DOM очень удобен jQuery.
$("#OurHTML").html(HTMLstring); // Записать HTML код в блок #OurHTML
$("#OurHTML > table > tr:contains('Some Text')").empty(); // Удалить все tr, содержащие 'Some Text' из таблице внутри блока #OurHTML
$('#OurHTML > table > tr').each(function(index) { alert(index + ': ' + $(this).text());  }); // Обработать каждую строку таблицы отдельно
Подробнее о селекторах вида "#OurHTML > table" по ссылке.


13 лет назад

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

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

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