Avatar billede corax Nybegynder
03. februar 2007 - 22:10 Der er 1 kommentar og
1 løsning

Rigtig description på links mangler på rss

Først var der kun ul-punkter og jeg ændrede
$description3 = ereg_replace("</description>.*","",$description3); til
$description3 = ereg_replace("</description>.*","",description3);

Nu står der description3 ved alle links. Hvad kan der mon være galt og hvad skal jeg gøre ?

Hilsen Marco

URL: http://kolonihaveportal.dk/rss.php

<ul>
<?php
$rdf = parse_url("http://www.idenyt.dk/sitemap/Plantebrevkassen?v=2");
$fp = fsockopen($rdf['host'], 80, $errno, $errstr, 10);
if (!$fp) {
echo '<li><strong>RSSPROBLEM</strong></li>';
}
else {
if ($fp) {
fputs($fp, 'GET ' . $rdf['path'] . '?' . $rdf['query'] . " HTTP/1.0\r\n");
fputs($fp, 'HOST: ' . $rdf['host'] . "\r\n\r\n");
$string    = '';
while(!feof($fp)) {
$pagetext = fgets($fp,300);
$string .= chop($pagetext);
}
fputs($fp, "Connection: close\r\n\r\n");
fclose($fp);
$items = explode("</item>",$string);
for ($i = 0; $i < 10; ++$i) {
$link = ereg_replace(".*<link>","",$items[$i]);
$link = ereg_replace("</link>.*","",$link);
$title2 = ereg_replace(".*<title>","",$items[$i]);
$title2 = ereg_replace("</title>.*","",$title2);
$description3 = ereg_replace(".*<description>","",$items[$i]);
$description3 = ereg_replace("</description>.*","",description3);
$link = addslashes($link);
$title2 = addslashes($title2);
$description3 = addslashes($description3);

echo '<li><a target="_blank "href="'. $link .'">'. $description3
."</a></li>\n";

} // end for
} // end if
} // end if
?>
</ul>
Avatar billede limemedia Nybegynder
04. februar 2007 - 03:38 #1
Jeg lavede din kode helt om :) det var lidt nemmere at starte helt forfra

<?php
    $xml = file_get_contents('http://www.idenyt.dk/sitemap/Plantebrevkassen?v=2');
   
    $parser = xml_parser_create();
    xml_parse_into_struct($parser, $xml, $content, $index);
    xml_parser_free($parser);

    for($i=0; $i<sizeof($content); $i++) {
        if (isset($content[$i]['tag']) && $content[$i]['tag'] == 'TITLE') {
            $title = $content[$i]['value'];
        } else if (isset($content[$i]['tag']) && $content[$i]['tag'] == 'LINK') {
            echo '<li><a target="_blank" href="'.$content[$i]['value'].'">'.$title."</a></li> \n";
        }
    }
?>    


Alt magien sker i xml_parse_into_struct funktionen, der tager et xml dokument og genererer et array af vaerdierne
Avatar billede corax Nybegynder
04. februar 2007 - 19:37 #2
Hmm, havde skrevet en kommentar, men prøver igen.

Jeg siger mange tak og ja - koden er da lavet helt om, og den virker helt perfekt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester