Wat je doet, zou moeten werken. In elk geval: ik merkte dat er nog wat foutjes stonden in het herschrijven van de url zodat die vanop een externe website bruikbaar is. Met onderstaande code werkt het netjes (en worden de pagina's ook in een nieuw venster
geopend):
Code:
<?php
echo ("\n <h2>Nieuws</h2>");
$maanden = array('januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
function untag($string, $tag) {
$tmpval = array();
$preg = "|<$tag>(.*?)</$tag>|s";
preg_match_all($preg, $string, $tags);
foreach ($tags[1] as $tmpcont){
$tmpval[] = $tmpcont;
}
return $tmpval;
}
$host = 'www.scoutsengidsenvlaanderen.be';
$uri = 'nieuws/rssnieuws.asp ';
$fp = fsockopen($host, 80, $errno, $errstr, 20);
if ($fp) {
$xml = '';
fputs($fp, "GET /$uri HTTP/1.0\r\nHost: $host\r\n\r\n");
while (!feof($fp)) {
$xml .= fgets($fp, 128);
}
fclose ($fp);
$items = untag($xml, 'item');
$html = '<p>';
foreach ($items as $item) {
$link = untag($item, 'link');
$titel = untag($item, 'title');
$strippedtitel = str_replace ( "<![CDATA[", "", $titel);
$titel = str_replace ( "]]>", "", $strippedtitel);
$tekst = untag($item, 'description');
$tekst = ereg_replace(">",">",$tekst[0]);
$tekst = ereg_replace("<","<",$tekst);
$tekst = ereg_replace("&","&",$tekst);
$tekst = ereg_replace("</P>\r\n<P>","\n <br />\n <br />",$tekst);
$tekst = ereg_replace("<P>","",$tekst);
$tekst = ereg_replace("</P>","",$tekst);
$tekst = str_replace ( "<![CDATA[", "", $tekst);
$tekst = str_replace ( "]]>", "", $tekst);
$datum = untag($item, 'pubDate');
$datum = date("d\-m\-Y", strtotime($datum[0]));
$datumsplit = explode("-",$datum);
$dag = $datumsplit[0];
$maand = $datumsplit[1];
$maand = $maand-1;
$jaar = $datumsplit[2];
echo ("\n ");
echo ("\n <div class=\"message\">");
// doe in de volgende regel * target=\"_blank\"* weg om de links niét in een nieuw venster te openen:
echo ("\n <div class=\"title\"><a target=\"_blank\" href=\"$link[0]\" title=\"Lees meer over "$titel[0]"\">$titel[0]</a></div>");
echo ("\n <div class=\"content\">");
echo ("\n $tekst");
echo ("\n </div>");
// doe in de volgende regel * target=\"_blank\"* weg om de links niét in een nieuw venster te openen:
echo ("\n <div class=\"note\">Datum: <strong>$dag $maanden[$maand] $jaar</strong> - [<a target=\"_blank\" href=\"$link[0]\">lees verder</a>]</div>");
echo ("\n </div>");
}
} else {
$datum = date("d\-m\-Y", strtotime(now));
$datumsplit = explode("-",$datum);
$dag = $datumsplit[0];
$maand = $datumsplit[1];
$maand = $maand-1;
$jaar = $datumsplit[2];
echo ("\n ");
echo ("\n <div class=\"message\">");
echo ("\n <div class=\"title\">Probleempje</div>");
echo ("\n <div class=\"content\">We kunnen momenteel geen nieuws van de website van Scouts en Gidsen Vlaanderen plukken. Probeer het later opnieuw of ga rechtstreeks op <a href=\"http://www.scoutsengidsenvlaanderen.be\">www.scoutsengidsenvlaanderen.be</a> kijken.</div>");
echo ("\n <div class=\"note\">Datum: <strong>$dag $maanden[$maand] $jaar</strong></div>");
echo ("\n </div>");
}
echo ("\n ");
echo ("\n <h2>Nieuw op de site van Scouts en Gidsen Vlaanderen</h2>");
echo ("\n ");
echo ("\n <ul class=\"platte_opsomming\">");
$html = implode ('', file ('http://www.scoutsengidsenvlaanderen.be/nieuws/index.asp'));
$start = strpos($html,'<h3>Nieuw op de site</h3>');
$stop = strpos($html,'Vacature');
$lengte = ($stop-$start);
$html = substr($html,$start,$lengte);
$html = explode("\n",$html);
foreach ($html as $line_num => $line) {
if( strpos($line,"<tr><td width=\"20%\">") === 0 ) {
$split = explode("</td>",$line);
$datum = str_replace("<td width=\"20%\">","",$split[0]);
$datum = strip_tags($datum);
$datumsplit = explode("/",$datum);
$dag = $datumsplit[0];
$maand = $datumsplit[1];
$maand = $maand-1;
$jaar = $datumsplit[2];
$titel = str_replace("<td align=\"left\">","",$split[1]);
$titel = str_replace("full.asp","/nieuws/full.asp",$titel);
if (!ereg("http:",$titel)) {
if (ereg("\.\./",$titel)) {
$titel = str_replace("<a href=\"../","<a class=\"pijltje\" href=\"http://www.scoutsengidsenvlaanderen.be/",$titel);
} elseif (ereg("<a href=\"/",$titel)) {
$titel = str_replace("<a href=\"","<a class=\"pijltje\" href=\"http://www.scoutsengidsenvlaanderen.be",$titel);
} else {
$titel = str_replace("<a href=\"","<a class=\"pijltje\" href=\"http://www.scoutsengidsenvlaanderen.be/leiding/",$titel);
}
} else {
$titel = str_replace("<a href=\"","<a class=\"pijltje\" href=\"",$titel);
}
// doe de volgende regel weg om de links niét in een nieuw venster te openen:
$titel = ereg_replace("<a ","<a target=\"_blank\" ",$titel);
echo ("\n <li>$titel ($dag $maanden[$maand] $jaar)</li>");
}
}
echo ("\n </ul>");
echo("\n ");
echo("\n");
?>
Gelukt?
To