Gå til innhold

Hvordan inkludere RSS i en webside med php?


Anbefalte innlegg

Skrevet

Hei! Jeg driver og lager/forbedrer en webside og tenkte at jeg kunne tenke meg litt "online streaming" nyheter fra noen andre websider.. Jeg har hørt det går ann å gjøre med php, men har ikke alt for mye kunnskaper om php. Så jeg lurte på om noen kunne forklare / vise meg hvordan man inplenterer RSS i en webside med php. Jeg kunne tenke meg en overskrift som linker til siden hvor jeg fikk nyheten fra, og en liten beskrivelse av nyheten samt kanskje et bilde om nyheten har det...

 

Takk!

Themecreator

Videoannonse
Annonse
Skrevet

<?php
require_once 'magpierss/rss_fetch.inc';

$url = "http://www.battlefield-heroes.com/feed";
$rss = fetch_rss($url);

/*echo "Site: ", $rss->channel['title'], "<br>
";*/
/*
foreach ($rss->items as $item ) {
$title = $item[title];
$url   = $item[link];
$content = $item[atom_content];
echo "<a href=$url>$title</a><br>$content<br><br>
";
}
*/
for ($i = 0; $i < $newscount; $i++) {
$title = $rss->items[$i][title];
$url   = $rss->items[$i][link];
$content = $rss->items[$i][atom_content];
echo "<a href=\"" . $url . "\" target=\"_blank\">" . $title . "</a><br>
";

}

 

Dette er hva jeg har skrevet forløbig... Men denne scripten gir meg bare overskriftene til nyhetene. Hva mer må jeg skrive for å få en beskrivelse av nyheten?

Skrevet

Hvis du tar en titt på selve feeden, så ser du at nyhetsinnholdet ligger under en description-tag, ikke atom_content - noe jeg antar er grunnen.

 

for ($i = 0; $i < $newscount; $i++) {
$title = $rss->items[$i]['title'];
$url   = $rss->items[$i]['link'];
$content = $rss->items[$i]['description'];
echo "<a href=\"" . $url . "\" target=\"_blank\">" . $title . "</a><br>";
}

Skrevet (endret)
<?php

echo limit_length ( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras scelerisque dapibus nunc ullamcorper venenatis.' );

function limit_length ( $string, $limit = 30, $post = ' [..]' ) {
	return ( strlen ( $string ) > $limit ? substr ( $string, 0, $limit ) . $post : $string );
}

?>

Endret av Jonas
Skrevet

hvor skal jeg skrive den koden? Og hva slags merkelig språk er det du bruker?

 

echo limit_length ( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras scelerisque dapibus nunc ullamcorper venenatis.' );
Skrevet

Latin man, that's how I roll.

 

Funksjonen bruker du der du ønsker å begrense output til x antall tegn.

 

<?php

for ($i = 0; $i < $newscount; $i++) {
	echo '<h1>' . $rss -> items[$i]['title'] . '</h1>';
	echo '<p>' . limit_length ( $rss -> items[$i]['description'] ) . '</p>';
	echo '<p><a href="' . $rss -> items[$i]['link'] . '" target="_blank">Les mer</a></p>';
}

function limit_length ( $string, $limit = 30, $post = ' [..]' ) {
	return ( strlen ( $string ) > $limit ? substr ( $string, 0, $limit ) . $post : $string );
}

?>

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...