Ik heb een stukje code dat van deze nieuwssite de newsheaders en links naar de stukjes zelf haalt haalt. Dit gebeurt dagelijks 1x d.m.v. het inlezen van die pagina met fread en levert verder geen zware belasting voor die site op.
Die nieuwssite zit qua HTML goed in elkaar, d.w.z. geen onregelmatig gebruik van tags, en de structuur van elke nieuwspost is hetzelfde. De titel van een post staat tussen <h2> tags en de link naar het uitgebreide stuk is herkenbaar aan het plaatje 'verder.gif'.
Deze twee reguliere expressies gebruik ik ervoor:
en
(volledige source, deze file wordt in een table geinclude)
Dit werkte goed, maar nu komt er een uitzondering die ik niet voorzien had: Een nieuwspost ZONDER "verder" link, dus alleen maar de titel een korte samenvatting. Dat kan goed, maar nu moet ik m'n code daar op aanpassen, en daar loop ik een beetje vast.
Hoe krijg ik het voor elkaar dat ik onderscheid kan maken tussen de twee nieuwstypen en ook de samenvattingen in een array krijg. Waar het met eerdere probeersels misging zijn de linebreaks waar de regex niet voorbijkomt (of eerder, dat ik niet weet hoe ik er voorbij moet gaan)..
Die nieuwssite zit qua HTML goed in elkaar, d.w.z. geen onregelmatig gebruik van tags, en de structuur van elke nieuwspost is hetzelfde. De titel van een post staat tussen <h2> tags en de link naar het uitgebreide stuk is herkenbaar aan het plaatje 'verder.gif'.
Deze twee reguliere expressies gebruik ik ervoor:
PHP:
1
2
3
4
| <? $regex = '/<div class="motd"><h2 class="center">(.*)</i'; preg_match_all ($regex, $text, $regs); ?> |
en
PHP:
1
2
3
4
5
6
| <? $regex = '/<a href="(.*)>[img]"http:\/\/media.scouting.nl\/themes'. [/img]<\/a>/i'; // regex even in tweeen gehakt ivm met forumlayoutvern##king ;) preg_match_all ($regex, $text, $regs); ?> |
(volledige source, deze file wordt in een table geinclude)
Dit werkte goed, maar nu komt er een uitzondering die ik niet voorzien had: Een nieuwspost ZONDER "verder" link, dus alleen maar de titel een korte samenvatting. Dat kan goed, maar nu moet ik m'n code daar op aanpassen, en daar loop ik een beetje vast.
Hoe krijg ik het voor elkaar dat ik onderscheid kan maken tussen de twee nieuwstypen en ook de samenvattingen in een array krijg. Waar het met eerdere probeersels misging zijn de linebreaks waar de regex niet voorbijkomt (of eerder, dat ik niet weet hoe ik er voorbij moet gaan)..