
17.12.2008, 22:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
Я таки домучал эту штуку
PHP код:
<pre><?php
$in='<div class="a1">
<div class="b1">
<div class="c1">
sometext1
</div>
<div class="c2">
sometext2
</div>
</div>
</div>
<div class="a1">
<div class="b1">
<div class="c1">
sometext3
</div>
<div class="c2">
<div class="d1">
<a href="somelink">asdasasd</a>
</div>
</div>
</div>
</div> ';
$start=microtime(true);
if (preg_match_all('~<div[^>]*>((?(?=(?>(<div|</div>)))(?R)|[\s\S])*)</div>~si', $in, $result, PREG_SET_ORDER))
foreach ($result as $one) echo htmlspecialchars($one[1])."\r\n-----------------------------\r\n";
echo microtime(true)-$start;
Находит весь текст между дивами верхнего уровня, для любой глубины вложенности
.:EnoT:. Боюсь, что банальная ссылка внутри дива заставит регулярку пропустить эту ссылку
astrologer Спасибо за направление для копания)
|
|
|