[ dee_ @ 20.08.2006. 20:15 ] @
Molio bih iskusnije sa regexps da mi pomognu. Imam situaciju u kojoj moram parsat članke direktno sa stranice. Znaci, na stranici se izlista x članaka, ja bi trebao stranicu ucitat i nekako izvuc listu clanaka prikazanih na njoj. recimo da ih je 10, kako da to izvedem regexpom?


Code:

<tr valign=top>
<td width="100%" height="10" class="newsbox">
<font class="title">Naslov članka1</font>
</td>
</tr>
<tr>
<td width="100%" class="newsbox">    
<img src="http://slika1.jpg">
<p>Sadržaj članka 1
<a href="link1" class="artlink">Opširnije</A> </p><p></p>
</td>
</tr>


iz ovakvih 10 na stranici, kao rezultat mi treba nesto oblika:

$clanci[0][naslov] = 'Naslov članka1'
$clanci[0][tekst]= ' Sadržaj članka1'
$clanci[0][link]= 'Link članka1'
$clanci[0][slika]='http://slika1.jpg'
.
.
.



hvala!

PS.

znam da je kod neuredan, ali nemam nikakav utjecaj na njega



[Ovu poruku je menjao dee_ dana 20.08.2006. u 21:26 GMT+1]
[ makempire @ 13.10.2007. 13:24 ] @
Ima neko resenje za ovo?

I meni treba...
[ 357_97 @ 13.10.2007. 18:33 ] @
Mislim da ce ti ovo pomoci.... Prouci malo code pa sam napisi regularni izraz za ostala dva primera...
Code:
$data = '
    <tr valign=top>
    <td width="100%" height="10" class="newsbox">
    <font class="title">Naslov članka br. 1</font>
    </td>
    </tr>
    <tr>
    <td width="100%" class="newsbox">
    <img src="http://slika1.jpg">
    <p>Sadržaj članka 1
    <a href="link1" class="artlink">Opširnije</A> </p><p></p>
    </td>
    </tr>
';

$pattern_naslovi = '/<.*?class="title">(.*?)<\/font>/s';
$pattern_sadrzaj = '/<p>(.*?)<a.*?>/s';

preg_match_all($pattern_naslovi, $data, $naslovi);
preg_match_all($pattern_sadrzaj, $data, $sadrzaj);

print_r($naslovi[1]);
print_r($sadrzaj[1]);