Регулярные выражения, нужна помощь

[Удален]
512

Срочно потребовалось написать регулярное выражение.

Требуется вырезать все между <div class="main"> и закрывающим его </div>

Затыка в том что между дивами есть еще дивы, а мне требуется вырезать именно до закрывающего основной див

<div class="main">([^\t]*)</div>

такое вырезает до первого </div>

невнятно объяснил, но очень надеюсь что кто нибудь поймет и поможет

spk6
На сайте с 19.09.2007
Offline
41
#1

Регулярки тут не помогут. Нужно парсить строку в xml-документ, удалять ноду и снова конвертировать в строку.

[Удален]
#2

spk6, спасибо, буду пробовать

D
На сайте с 25.10.2006
Offline
94
#3

пример самого сложного случая приведите

C
На сайте с 28.01.2010
Offline
70
#4

можете попробовать воспользоваться этой библиотекой - http://simplehtmldom.sourceforge.net/

Это - личная подпись. Здесь обычно ставят ссылки на всякие кривые сайты, надеясь получить "жирный бек".
[Удален]
#5
Denis_:
пример самого сложного случая приведите

Там не сложные они, но постоянно встречаются внутри дивов дивы.

Counselor, спасибо, посмотрю обязательно

Dreammaker
На сайте с 20.04.2006
Offline
569
#6
SeoSkunk:
такое вырезает до первого </div>

Очень, странно, за-за "жадности" регулярных выражений должно наоборот захватывать всё. Может показать код, который демонстрирует проблему?

[Удален]
#7
<div class="banner-middle"><!-- MarketNews -->
<div id="MarketGid"><center>
Загрузка...
</center></div>
<!-- MarketNews -->
<script type="text/javascript">
var MarketGidDate = new Date();
document.write('<scr'+'ipt type="text/javascript" '+'src="http://jsn.dt00.net/u/t/site.ru.i4.js?t='+MarketGidDate.getYear()+MarketGidDate.getMonth()+ '" charset="windows-1251" ></scr'+'ipt>');
</script>
</div>

Вот пример с одним вложением дива

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий