<pre>
<?php
//data ophalen en schoonmaken
$raw = file_get_contents("http://slamfm.nl/page/musicslam40");
$tidy = new tidy;
$tidy->parseString($raw);
$tidy->cleanRepair();
$raw = $tidy;
//begin en einde van html wissen, boel opschonen
$zoek = '<div class="chart" id="printslam40">';
$pos = stripos($raw,$zoek);
if ($pos === false) {
echo $zoek.' is niet gevonden';
} else {
$raw = substr($raw,($pos+strlen($zoek)));
}
$zoek = '</div>';
$pos = stripos($raw,$zoek);
if ($pos === false) {
echo $zoek.' is niet gevonden';
} else {
$raw = substr($raw,0,$pos);
}
$raw = str_replace('dt class="rating"','dt class="positie"',$raw);
$raw = str_replace('class="odd"','',$raw);
$raw = str_replace('class=""','',$raw);
//alle echte data in een array zetten, checken en verwerken
preg_match_all("/class=\"(.*)\"\>(.*)\</",$raw,$tmp);
$check = count($tmp[1])/40;
if (!is_int($check)) {
die("array bevat geen veelvoud van 40");
} else {
$uitvoer = array();
for ( $counter = 0; $counter < 40*$check; $counter += $check) {
$kek = array_splice($tmp[1],0,$check);
$kek[1] = "vorige";
$kek[2] = "weken";
$uitvoer[] = array_combine($kek,array_splice($tmp[2],0,$check));
}
echo print_r($uitvoer);
}
?>
</pre>