Suchmaschinenoptimierung
   
 

SEMSEO Konferenz 2012
 

 
 

Wordpress Feed einbauen auf meiner Startseite

Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
 Welches Buch? Zufallsbilder PHP Script - zeige Bild per Zufall an  
ypsie

pr


: 03.11.2003
: 328
: Wien


: 08.06.2005, 21:33    : Wordpress Feed einbauen auf meiner Startseite Antworten mit Zitat

Hallo,

Ich habe einen Wordpress Weblog und das dazugehörige Feed:
http://www.wcheck.com/weblog/feed/

Nun möchte ich gerne auf meiner Startseite (index.php) automatisch den neuesten Blogeintrag anzeigen - am besten auf eine bestimmte Länge gekürzt.

Wie kann ich das realisieren?

mfg, julian

youporn | LINK IN MEINEM BLOG: 2 von 8 verfügbaren Werbeplätzen in meinem Blog sind noch frei!
Nach oben
ypsie Private Nachricht senden
Outman

pr


: 03.12.2004
: 396
: Saalfeld / Saale


: 09.06.2005, 11:27    : Wordpress Feed einbauen auf meiner Startseite Antworten mit Zitat

Hallo,

Code:
<?php
function convertum($result){
   $result = trim(ucfirst($result));
   $result = preg_replace("/[^_\.,&§\/\(\)\[\]=0-9À-ÿA-Za-zäöüßÄÖÜ\-\r\n ]/si", "", $result);
   return $result;
}
class MagpieRSS {
var $parser;
var $current_item = array();
var $items   = array();
var $channel  = array();
var $parent_field = array('RDF');
var $current_field = '';
var $current_namespace = false;
function MagpieRSS ($source) {
 $this->parser = xml_parser_create( );
 xml_set_object( $this->parser, &$this );
 xml_set_element_handler($this->parser, 'start_element', 'end_element');
 xml_set_character_data_handler( $this->parser, 'cdata' );
 xml_parse( $this->parser, $source );
 xml_parser_free( $this->parser );
}
function start_element ($p, $element, &$attrs) {
 $element  = strtolower( $element );
 $namespace = false;
 if ( strpos( $element, ':' ) ) {
  list($namespace, $element) = split( ':', $element, 2);
 }
 $this->current_field = $element;
 if ( $namespace and $namespace != 'rdf' ) {
  $this->current_namespace = $namespace;
 }
 if ( $element == 'channel' ) {
  array_unshift( $this->parent_field, 'channel' );
 }
 elseif ( $element == 'items' ) {
  array_unshift( $this->parent_field, 'items' );
 }
 elseif ( $element == 'item' ) {
  array_unshift( $this->parent_field, 'item' );
 }
}
function end_element ($p, $element) {
 $element = strtolower($element);
     
 if ( $element == 'item' ) { 
  $this->items[] = $this->current_item;
  $this->current_item = array();
  array_shift( $this->parent_field );
 }
 elseif ( $element == 'channel' or $element == 'items' ) {
  array_shift( $this->parent_field );
 }
 
 $this->current_field = '';
 $this->current_namespace = false;
}
function cdata ($p, $text) {
 if ( $this->parent_field[0] == $this->current_field or
   ! $this->current_field ) {
  return;
 }
 elseif ( $this->parent_field[0] == 'channel') {
  if ( $this->current_namespace ) {
   $this->channel[ $this->current_namespace ][ $this->current_field ] .= $text;
  }
  else {
   $this->channel[ $this->current_field ] .= $text;
  }
 
 }
 elseif ( $this->parent_field[0] == 'item' ) {
  if ( $this->current_namespace ) {
   $this->current_item[ $this->current_namespace ][ $this->current_field ] .= $text;
  }
  else {
   $this->current_item[ $this->current_field ] .= $text;
  }
 }
}
function show_list () {
 echo "<ol>\n";
 foreach ($this->items as $item) {
  echo "<li>", $this->show_item( $item );
 }
 echo "</ol>";
}

function show_channel () {
 echo "channel:<br>";
 echo "<ul>";
 while ( list($key, $value) = each( $this->channel ) ) {
  echo "<li> $key: $value";
 }
 echo "</ul>";
}
function show_item ($item) {
 echo "item: $item[title]";
 echo "<ul>";
 while ( list($key, $value) = each($item) ) {
  if ( is_array($value) ) {
   echo "<br><b>$key</b>";
   echo "<ul>";
   while ( list( $ns_key, $ns_value) = each( $value ) ) {
    echo "<li>$ns_key: $ns_value";
   }
   echo "</ul>";
  }
  else {
   echo "<li> $key: $value";
  }
 }
 echo "</ul>";
}
} # end class RSS
class RSSCache {
var $BASE_CACHE = './cache';
function RSSCache ($base) {
 if ( $base ) {
  $this->BASE_CACHE = $base;
 }
 if ( ! file_exists( $this->BASE_CACHE ) ) {
  mkdir( $this->BASE_CACHE, 0755 );
 }
}
function set ($url, $rss) {
 $cache_file = $this->file_name( $url );
 $fp = @fopen( $cache_file, 'w' );
 if ( ! $fp ) {
  return
   array(0, "Unable to open cache file for writing: $cache_file");
 }
 $data = $this->serialize( $rss );
 fwrite( $fp, $data );
 fclose( $fp );
 return array(1, $cache_file);
}
function get ($url) {
 $cache_file = $this->file_name( $url );
 if ( ! file_exists( $cache_file ) ) {
  return array(0, '', "Cache file does not exists: $cache_file");
 }
 $fp = @fopen($cache_file, 'r');
 if ( ! $fp ) {
  return array(0, '',
      "Failed to open cache file for reading: $cache_file");
 }
 $data = fread( $fp, filesize($cache_file) );
 $rss = $this->unserialize( $data );
 return array(1, $rss, 'cache.success');
}
function check_cache ( $url ) {
 $filename = $this->file_name( $url );
 if ( file_exists( $filename ) ) {
  $mtime = filemtime( $filename );
  return array(1, $filename, $mtime);
 }
 return array(0);
}
function serialize ( $rss ) {
 return serialize( $rss );
}
function unserialize ( $data ) {
 return unserialize( $data );
}
function file_name ($url) {
 $filename = md5( $url );
 return join( '/', array( $this->BASE_CACHE, $filename ) );
}
}
$CACHE_BASE = './cache';
$CACHE_AGE = 60*60; // one hour
function fetch_rss ($url, $options=array() ) {
global $CACHE_BASE, $CACHE_AGE;
if ( $options['cache.no'] ) {
 list($remote_status, $rss, $msg) = fetch_remote_rss( $url );
 if ( $remote_status and $rss ) {
  return array($rss, 1, 'success.remote');
 }
 else {
  return array($msg, 0, 'fail.no_cache');
 }
}
else {
 $base = ( $options['cache.base'] ) ? $options['cache.base'] :
           $CACHE_BASE;
 $cache_age = ( $options['cache.age'] ) ? $options['cache.age'] :
                $CACHE_AGE;
 $cache = new RSSCache( $base );
 list( $cache_status, $filename, $mtime) =
          $cache->check_cache( $url );
 $age = time() - $mtime;
 if ( $cache_status and $cache_age > $age ) {
  list($status, $rss, $msg) = $cache->get( $url );
  if ( $status and $rss ) {
   return array($rss, 1, 'success.cache');
  }
 }
 list($remote_status, $rss, $remote_msg) = fetch_remote_rss( $url );
 if ( $remote_status and $rss ) {
  $cache->set( $url, $rss );
  return array($rss, 1, 'success.remote');
 }
 if ( $cache_status ) {
  $rss = $cache->get( $url );
  if ( $rss ) {
   return array($rss, 1, 'success.cache.stale' );
  }
 }
 return array($remote_msg, 0, 'fail');
}
}
function fetch_remote_rss ($url) {
list($status, $data) = fetch_remote_file( $url );
if ( $status ) {
 $rss = new MagpieRSS( $data );
 if ( $rss ) {
  return array(1, $rss, 'success');
 }
 else {
  return array(0, '', "Failed to parse RSS file: $url");
 }
}
else {
 return array(0, '', $data);
}
}
function fetch_remote_file ($url) {
$fp = @fopen($url, 'r');

if ( ! $fp ) {
 return array(0, "Unable to open remote file: $url");
}
while ( ! feof($fp) ) {
 $data .= fread( $fp, 1024 );
}
fclose($fp);
return array(1, $data);
}
$url = $_GET['url'];
if ( ! $url ) {
// $url einfach anpassen
$url = 'http://www.wcheck.com/weblog/feed/';
}
list( $rss, $status, $msg) = fetch_rss( $url );
function slashbox ($rss) {
// $trenner einfach anpssen
$trenner='<br/><br/>';
$title = $rss->channel['title'];
$category = $rss->channel['category'];
$link = $rss->channel['link'];
$description = $rss->channel['description'];
foreach ($rss->items as $item ) {
    $item["title"]=convertum($item["title"]);
    $item["description"]=convertum($item["description"]);
   echo $item["title"].' / '.$item["category"].$trenner;
   $text = substr($item["description"], 0, strpos($item["description"], ".",50)+1);
    echo $text.$trenner;
    echo $item["link"].$trenner;

}
slashbox ($rss); ?>
 


Bitte schön.

mfg. Nico

Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer?
Nach oben
Outman Private Nachricht senden WWW
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
Seite 1 von 1

 






Ähnliche Beiträge
Thema Forum Antworten
Google findet meine Startseite nicht mehr - DNS Fehler Google findet meine Startseite nicht ... derHorst Google Forum 1 24.05.2012, 10:03 Google findet meine Startseite nicht mehr - DNS Fehler
Beliebige Datei als Startseite festlegen ohne Weiterleitung Beliebige Datei als Startseite festle... critch Weiterleitungen und mod_rewrite 1 22.05.2012, 20:35 Beliebige Datei als Startseite festlegen ohne Weiterleitung
RSS Feed - ICQ-Button zieht Fenster in die Länge RSS Feed - ICQ-Button zieht Fenster i... Pete G. Forum- und Community-Feedback 0 22.05.2012, 12:26 RSS Feed - ICQ-Button zieht Fenster in die Länge
Dreißte Kopie meiner Inhalte! Wie lange dauerts mit Google? Dreißte Kopie meiner Inhalte! Wie lan... Freelancer-Websites Ich hab' da mal 'ne Frage 25 21.05.2012, 18:01 Dreißte Kopie meiner Inhalte! Wie lange dauerts mit Google?
Wordpress Fehler Wordpress Fehler un73Rm3N5cH Ich hab' da mal 'ne Frage 1 21.05.2012, 12:01 Wordpress Fehler
Wordpress Problem - Die Experten sind gefragt Wordpress Problem - Die Experten sind... Provocateur Ich hab' da mal 'ne Frage 2 20.05.2012, 19:30 Wordpress Problem - Die Experten sind gefragt
Produkt/Review Template für Wordpress Produkt/Review Template für Wordpress un73Rm3N5cH Ich hab' da mal 'ne Frage 0 20.05.2012, 18:08 Produkt/Review Template für Wordpress

Suchmaschinenoptimierung | Latent Semantische Optimierung (LSO) | SEO Blog | SEO Online Tools | Suchmaschinenmarketing Angebot | Online Marketing

Impressum

Dieses SEO Forum läuft unter phpBB.


Sie lesen gerade: Wordpress Feed einbauen auf meiner Startseite