Avatar billede Arthur Praktikant
10. december 2013 - 20:48 Der er 2 kommentarer

Automatisk fetch links fra ekstern blog

Hej

Jeg håber at der er nogle PHP genier som kan hjælpe mig. Jeg er en af de få heldige webdesignere som er fuldstændig og aldeles blind overfor PHP, lol :)

Jeg vil høre om der er nogle som kan hjælpe mig med et PHP script som kan automatisk opretter links til de 5 seneste artikler fra en ekstern blog.

Det drejer sig børsens blog: http://borsen.dk/opinion/blogs/7392090/klaus-lund.html

Case: Hver gang at et blog-post bliver generet, så skal der automatisk oprettes et link til den nye blog på siden. Linket skal være af matchende overskrift som på børsens blog og linke eksternt til børsen. Det drejer sig om de 5 nyeste blog-posts.


Det skal lige siges at jeg har den originalle PHP snippet som jeg har hapset fra den gamle ModX side, men jeg har ikke haft held med at få det til at virke i Wordpress ved at installere snippet-plugins og eksekvere shortcoden.

Al hjælp og alle råd modtages med åbne arme. Hvis der er alternative metoder, så lytter jeg gerne.
Avatar billede Arthur Praktikant
10. december 2013 - 20:49 #1
Det kunne være fedt hvis man kunne få dato'en med.

Her er den gamle kode fra ModX som jeg har prøvet at lave som en snippet i WP uden held:

<?php
function getLinks($page,$p=null,$ret=array()) {
        $url = $p? $page."?page=".$p:$page;
        $feed = file_get_contents($url);
        $feed = str_replace("\n","",utf8_encode($feed));
       
        // get headlines
        preg_match_all("/<h1 class=\"article-title\" id=\"note-(\d+)\">(.*?)<\/h1>/",$feed, $matches);
        if (count($matches[0])>0) {
            $headlines = $matches[2];
            $links = $matches[1];
            for ($i=0;$i<count($headlines);$i++) $ret[] = array(trim(strip_tags($headlines[$i])),$url."#note-".$links[$i]);
        }
       
        // get next page
        preg_match_all("/<a href=\"\?page=(\d+)\" class=\"standard-button button-highlight next\">Næste side/",$feed, $links);
        if (count($links[0])==1) $ret = getLinks($page,$links[1][0],$ret);
       
        return $ret;
    }
    $u = "http://borsen.dk/opinion/blogs/7392090/klaus-lund.html";
    $r = getLinks($u);
    $html = array();
    foreach ($r as $blog) $html[] = '<p><a href="'.$blog[1].'" target="_blank">'.$blog[0].'</a></p>';
    return join("\n",$html);
Avatar billede repox Seniormester
11. december 2013 - 08:08 #2
Spørg dem efter et RSS feed til deres blog sektion og få tilladelse til at gengive deres data.
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

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