500px RSS Feed in Homepage einbinden

02/03/2013 15:02 Rakinzon#1
Hallo,

ich lade meine Bilder nun bei 500px hoch und lese diese mit dem folgendem Script auf meiner Homepage aus bzw. binde diese dort wie folgt ein:

PHP Code:
<?php
if(!$xml simplexml_load_file('FEED')) {die('Fehler beim Einlesen!');}
    
$out = array(); $i 5;
    
    if(!isset(
$xml->channel[0]->item)) {die('Keine Items vorhanden!');}
    foreach(
$xml->channel[0]->item as $item) { 
        if( 
$i-- == ) {break;}
        
$out[] = array('title'=>(string) $item->title'description' => (string) $item->description'link' => (string) $item->guid'date' => date('d.m.Y'strtotime((string) $item->pubDate)));
    }
    
$id 1;
    foreach (
$out as $value) {
    
        if(
$id == 1) {$display 'table-cell';} else {$display 'none';}
        if(!empty(
$value['link'])) {$link '<a href="'.$value['link'].'" target="_blank">View on 500px</a>';} else {$link '';}
        
    echo
'
<h1>'
.$value['title'].'</h1>
Hochgeladen am:</label> <b>'
.$value['date'].' </b> - '.$link .'<br/>
'
.$value['description'].'
<hr>'
;
    
$id++;
    }
Jetzt habe ich folgendes Problem:
In den RSS Feed wird in dem '.$value['description'].' Bereich unter jedes Bild folgender Text eingebunden:




--> Dies möchte ich gerne ausblenden - Habt ihr irgendwelche Ideen, ich stehe leider auf dem Schlauch
02/03/2013 19:09 BattleTale#2
steht die richtige beschreibung unter den ganzen zeug?
02/03/2013 19:18 Rakinzon#3
So sieht es aus:
02/03/2013 19:46 PseudoPsycho#4
Öhm, ist halt Teil des <description>-Tags...
Code:
<description>
        <![CDATA[
          <a href="http://500px.com/photo/24676391"><img src="http://pcdn.500px.net/24676391/ab1a388306212768126e06f713cc400a38d6a75f/4.jpg"></a>
          <br/><br/>
          <h2><a href="http://500px.com/photo/24676391">Power Kites</a> by <a href="http://500px.com/zensiert">zensiert</a> (<a href="http://500px.com/zensiert">zensiert</a>)</h2><br/><br/>
          <small>
          	Lzensiert: <a href="http://500px.com/zensiert">Photos</a> · <a href="http://500px.com/zensiert/blog">Blog</a> · <a href="http://500px.com/zensiert/flow">Flow</a> · <a href="http://500px.com/zensiert/favorites">Favorites</a><br/>
          	RSS: 
            <a href="http://rss.500px.com/500px">Popular Photos</a> ·  
            <a href="http://rss.500px.com/500px/editors">Editors Choice</a> ·
            <a href="http://rss.500px.com/500px/upcoming">Upcoming Photos</a> ·                        
            <a href="http://rss.500px.com/500px/fresh">Fresh Photos</a> &nbsp;<br/> 
            Social: <a href="http://twitter.com/500px">Twitter</a> ·  
            <a href="http://facebook.com/500px">Facebook</a> ·  
            <a href="http://community.livejournal.com/500px/">LiveJournal</a> ·  
            <a href="http://500px.com/blog">Blog</a>               
          </small>
          <br/><br/>]]>
      </description>
02/03/2013 19:52 Rakinzon#5
Ja aber wie Kriege ich das raus, da das Bild das ich angezeigt haben möchte auch in dem Bereich ist?
02/03/2013 20:13 PseudoPsycho#6
z.B. mittels preg_replace den <small>-Tag eliminieren.
PHP Code:
<?php
if(!$xml simplexml_load_file('http://500px.com/zensiert/rss')) {die('Fehler beim Einlesen!');}
    
$out = array(); $i 5;
    
    if(!isset(
$xml->channel[0]->item)) {die('Keine Items vorhanden!');}
    foreach(
$xml->channel[0]->item as $item) { 
        if( 
$i-- == ) {break;}
        
$desc=preg_replace('#<small>.*</small>#isU'''$item->description);
        
$out[] = array('title'=>(string) $item->title'description' => (string) $desc'link' => (string) $item->guid'date' => date('d.m.Y'strtotime((string) $item->pubDate)));
    }
    
$id 1;
    foreach (
$out as $value) {
    
        if(
$id == 1) {$display 'table-cell';} else {$display 'none';}
        if(!empty(
$value['link'])) {$link '<a href="'.$value['link'].'" target="_blank">View on 500px</a>';} else {$link '';}
        
    echo
'
<h1>'
.$value['title'].'</h1>
Hochgeladen am:</label> <b>'
.$value['date'].' </b> - '.$link .'<br/>
'
.$value['description'].'
<hr>'
;
    
$id++;
    }
02/03/2013 20:42 Rakinzon#7
Danke, wie kann ich das unter dem Bild noch wegmachen? Wenn ich das preg_replace erneut einfüge bekomme ich errors
02/03/2013 21:13 PseudoPsycho#8
Du meinst den Teil(?):
HTML Code:
<h2><a href="http://500px.com/photo/24676391">Power Kites</a> by <a href="http://500px.com/zensiert">zensiert</a> (<a href="http://500px.com/zensiert">zensiert</a>)</h2><br/><br/>
2x preg_replace() ist schon richtig...
PHP Code:
$desc=preg_replace('#<small>.*</small>#isU'''$item->description);
$desc=preg_replace('#<h2>.*</h2><br/><br/>#isU'''$desc);
$out[] = array('title'=>(string) $item->title'description' => (string) $desc'link' => (string) $item->guid'date' => date('d.m.Y'strtotime((string) $item->pubDate))); 
Ist aber noch ungetestet...