[PHP] Parsanje HTML-a i zamjena substringova

poruka: 2
|
čitano: 1.865
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
[PHP] Parsanje HTML-a i zamjena substringova

Evo jednog pitanja za PHP znalce, koji će to vjerojatno znati riješiti elegantnije nego ja.

Ovo je primjer situacije:

<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
<span class="nekaklasa2"><p>XYZ123</p></span>

...
</div></div>
...
<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
<span class="nekaklasa2"><p>XYZ123</p></span>
...
</div></div>
...
<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
<span class="nekaklasa2"><p>XYZ123</p></span>

...
</div></div>


Dakle, to je HTML ne-fiksne dužine u kojemu je potrebno cijeli red #1 u kojem se u nalazi tekst proizvoljne dužine (i pripadajući HTML) zamjeniti s cijelim redom #2 u kojem se također nalazi tekst proizvoljne dužine (te HTML, jelte). Ove "..." između pojedinih redova označavaju ostatak koda (može biti manje-više bilo što).

Drugim riječima, ovo bi trebao biti rezultat:

<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa2"><p>XYZ123</p></span>
<span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
...
</div></div>
...
<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa2"><p>XYZ123</p></span>
<span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
...
</div></div>
...
<div class="nekidiv1"><div class="nekidiv2">
...
<span class="nekaklasa2"><p>XYZ123</p>
</span><span class="nekaklasa1">(abcdefgh&nbsp;ijklmno&nbsp;prstuvz)</span>
...
</div></div>


Jedna važna napomena: apsolutno sve je varijabilno (u smislu vrste i količine HTML-a između teksta, te same dužine teksta), osim ovih delimitera i njihovih naziva koje sam naveo u primjeru. Dakle, trebalo bi se nekako po njima ravnati, ali nisam siguran kako bi bilo najpametnije pristupiti ovom problemu?

Otvoren sam za sve prijedloge / smjernice / itd.

Retry. Reboot. Reinstall. Reformat.
Poruka je uređivana zadnji put sri 18.5.2011 15:29 (vlad0).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
[PHP] Parsanje HTML-a i zamjena substringova

Ako nekog zanima, problem je riješen tako da je napravljen array (gdje je svaki red 1 član) i onda su se samo zamijenili članovi arraya gdje je bilo potrebno. Zapravo je jednostavno kad se dođe do prave ideje. {#}

Retry. Reboot. Reinstall. Reformat.
Moj PC  
1 0 hvala 1
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice