Cytat(gracz @ 26.06.2013, 10:48:25 )

witam, mam problem z limitem jeśli chodzi o preg replace.
otóż mam taki kod;
$pattern = '#<div id="identyfikator" class="contentDescription">(.*?)</div>#';
$rlimit = ($numBlocks - 1);
$html = preg_replace($pattern, 'replace to', $html, $rlimit);
w kodzie html pojawia się kilka divów, które mają ten sam identyfikator (id="identyfikator") oraz tą samą klasę - tylko środek się różni tego diva
chodzi oto, żeby zastosowac limit - w tej chwili wszystko mi kasuje - jakby limit w ogóle nie działał.
obecnie:
w kodzie pojawiają się takie dwa divy
a zmienna $rlimit zwraca 1
Co się stanie jak wpiszesz $rlimit na sztywno? Np. 1?
Inna kwestia. Wyobraź sobie, że Twój HTML wygląda tak:
<div id="identyfikator" class="contentDescription">jakas tresc pierwszego diva
</div> <div id="identyfikator" class="contentDescription">jakas tresc drugiego diva
</div>
Więc ów pattern:
$pattern = '#<div id="identyfikator" class="contentDescription">(.*?)</div>#';
Zwróci 3 wyniki (a nawet więcej, ale są tu nieistotne):
jakas tresc pierwszego diva
jakas tresc pierwszego diva
</div><div id="identyfikator" class="contentDescription">jakas tresc drugiego diva
jakas tresc drugiego diva
Poza tym, powinno występować tylko jeden raz dane id w całym dokumencie (a przynajmniej tak jest w założeniu).