"php html parser"?
Серьёзно? Ничего?
DomDocument, Simple HTML DOM, htmlSQL, phpQuery, Zend_Dom_Query
В моей выдаче третей же строкой список разных парсеров на хабре: http://habrahabr.ru/post/176635/
Искал изначально по "полновесный парсер html" как вы и написали вначале.
Спс всем за помощь.
Нет, вы не так поняли, мне нужно все содержимое <div class="feed-i">...</div> включая вложенные в него div
Перед вновь повторяющимися <div class="feed-i"> может быть огромое и рандмное количество заканчивающихся тегов </div>, а так же других тегов, и между ними не всегда цифры.
Так как вы написали он будет искать самый первый встречающийся </div> и возьмет все что до него.
если у меня строка наример <div class="feed-i"><div><div>111</div></div></div>
то он возьмет <div class="feed-i"><div><div>111</div>
А это не то.
Нет, не нужно через один.
Нужно только первое и второе вхождение.
А берется первое и третье.
Беру по такой регулярке <div class="feed-i">(.*)<div class="feed-i">, потому что иначе никак, поскольку в реальном примере перед повторяющимися блоками <div class="feed-i">
могут быть сколько угодно </div> и другие теги.
мне кажется проблема в том что вы выводите $matches после цикла и туда попадают только последние значения
В самом цикле ставил, все равно не то.
Функция работает так как и должна работать, второй блок <div class="feed-i">222</div> в нее не попадает, потому что часть его уже попала в первое вхождение - так вроде если правильно выразился.
Но может как то можно через дополнительные параметры вывести <div class="feed-i">222</div> ?
Само выражение для парсинга <div class="feed-i">(.*)<div class="feed-i"> менять НЕЛЬЗЯ.
(В примере я упрощенно написал, но в реальном случае никак иначе спарсить кроме как я указал невозможно, то есть парсить по <div class="feed-i">(.*)<\/div> не вариант)
Как сделать что бы выводилось так?: