php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.12.2011, 21:04  
Neuer Benutzer
 
Registriert seit: 25.12.2011
Beiträge: 21
PHP-Kenntnisse:
Anfänger
Butzi befindet sich auf einem aufstrebenden Ast
Standard Hilfe benötigt für RSS Reader

Guten Abend (und frohe Festtage!)

Ich habe mal vor langer Zeit ein Projekt in Auftrag gegeben gehabt,
wobei es sich um eine Rezepte-Sammlung handelt.
Dem Besucher werden diese Rezepte kostenlos per Zufall aus einem RSS Feed
auf die Startseite (einzeln) angezeigt.

Seit gut einer Woche funktioniert es aber nicht mehr!
Ich habe nichts verändert, nichts am Server, nichts am Script.
Zugang habe ich alleine! Wie kann sowas passieren?

Schreibe selbst manche Seiten und Spielereien mit HTML,
von php hab ich allerdings Null ahnung...

Es handelt sich um folgende Seite:
http://www.was-soll-ich-heute-essen.de/

Hat jmd. eine Idee woran es liegen könnte?
Würde mich sehr über Hilfe freuen

P.S.
Der Programmierer ist vom Erdboden verschwunden,
hatten nur Mail-Kontakt, er antwortet aber schon seit monaten nicht mehr...
Butzi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.12.2011, 21:10  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Ich tipp ma schwer auf Host vom Feed nicht mehr erreichbar oder Feed-Format hat sich verändert. Wann auch immer ich morgen aus dem "Festessen-Koma" erwache, könnte ich dir das anpassen/reparieren wenn du möchtest.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (25.12.2011 um 21:14 Uhr).
tr0y ist offline   Mit Zitat antworten
Alt 25.12.2011, 21:14  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Willkommen im Forum.

Die reader.php sollte vermutlich ein Rezept ausspucken, tut das aber nicht? Dazu müsste man von der mal den Code sehen.

Oder setz dort mal den folgenden Code ganz an den Anfang der Datei, vielleicht erhältst du dann Fehlermeldungen:

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors'1);
?>
__________________
Blog | Buch | Kaloa
mermshaus ist gerade online   Mit Zitat antworten
Alt 25.12.2011, 21:28  
Neuer Benutzer
 
Registriert seit: 25.12.2011
Beiträge: 21
PHP-Kenntnisse:
Anfänger
Butzi befindet sich auf einem aufstrebenden Ast
Standard

Host vom Feed ist mein Server,
hat sich nie verändert und das Format ist auch gleich geblieben
(zumindest wurde von meiner Seite nichts geändert)...

Bin noch bis morgen Mittag bei Verwandschaft,
habe alle benötigten Daten zuhause, die kann ich dann gerne posten / bereitsstellen.

Es gab aber schon beim programmieren riesen probleme mit dem
Script, es wurde wohl ein fertiger Reader verwendet und dieser dann auf ein Random-Reader modifiziert...

Hier mal der Feed selbst:
http://www.was-soll-ich-heute-essen....ds/rezepte.xml

Melde mich morgen,
schonmal Danke bis jetzt
Butzi ist offline   Mit Zitat antworten
Alt 26.12.2011, 01:35  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Zitat:
Zitat von Butzi
Es gab aber schon beim programmieren riesen probleme mit dem
Script, es wurde wohl ein fertiger Reader verwendet und dieser dann auf ein Random-Reader modifiziert...
Das klingt nicht unsinnvoll, wobei es prinzipiell allerdings nicht sinnvoll ist, für die Aufgabe auf RSS zu setzen (zumindest nicht ohne RSS abstrahierende Caching-Schicht dazwischen).

Es sollte gezielt ein einziger Datensatz abgefragt werden, statt 132 (?), von denen 131 keinerlei Zweck erfüllen.
__________________
Blog | Buch | Kaloa
mermshaus ist gerade online   Mit Zitat antworten
Alt 26.12.2011, 15:37  
Neuer Benutzer
 
Registriert seit: 25.12.2011
Beiträge: 21
PHP-Kenntnisse:
Anfänger
Butzi befindet sich auf einem aufstrebenden Ast
Standard

Also meinst Du damit,
dass es möglicherweise zuviele Einträge im Feed selbst sind?

Macht für mich aber grad kaum sinn,
denn es lief ja monate lang, ohne das ich etwas verändert hab...

Hier mal die reader.php :

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type"        content="text/html; charset=iso-8859-15" />
        <meta http-equiv="content-language"    content="de" />
        <meta name="title"                     content="RSS Reader">
        <link rel=stylesheet type="text/css"   href="rssreader.css">
        <title>RSS Reader</title>
    </head>
    <body>
<?php
    
include('rssreader.php');
  
// Feed display settings
  
$Feed_NoTitle "No title";
  
$Feed_MaxItems 1// To show all feed items, set $Feed_MaxItems to "-1".
  
$Feed_ShowInfo true;
  
$Feed_ShowDescription true;
  
$Feed_RSS_ShowEnclosure true;
  
$Feed_Random true;  //nach false ändern um zufallsgenerator auszuschalten :)
  
  // Show feed
  
ShowFeed("feeds/rezepte.xml");
?>
</body>
</html>
Butzi ist offline   Mit Zitat antworten
Alt 26.12.2011, 15:38  
Neuer Benutzer
 
Registriert seit: 25.12.2011
Beiträge: 21
PHP-Kenntnisse:
Anfänger
Butzi befindet sich auf einem aufstrebenden Ast
Standard

Hier die rssreader.php :

PHP-Code:
<?php


// #############################################################################

function ShowFeed($RssFeedFile) {
  
$XmlRoot ParseXmlFile($RssFeedFile);
  if (
$XmlRoot) {
    if (
strtolower($XmlRoot->name) == "rss") {
      
ShowFeed_RSS($XmlRoot);
    } else if (
strtolower($XmlRoot->name) == "feed") {
      
ShowFeed_Atom($XmlRoot);
    } else if (
strtolower($XmlRoot->name) == "rdf:rdf") {
      
ShowFeed_RDF($XmlRoot);
    } else if (
strtolower($XmlRoot->name) == "smf:xml-feed") {
      
ShowFeed_SMFXMLFEED($XmlRoot"http://www.your-smf-forum.tld/""Forum title""Your SMF...");
    }
  }
}

// #############################################################################

function ShowFeed_RSS($XmlRoot) {
  global 
$Feed_NoTitle;
  global 
$Feed_RSS_ShowEnclosure;
  global 
$Feed_MaxItems;
  global 
$Feed_ShowInfo;
  global 
$Feed_ShowDescription;
  global 
$Feed_Random;

  
$title GetFirstChildContentByPath($XmlRoot"channel/title");
  
$link GetFirstChildContentByPath($XmlRoot"channel/link");
  
$desc GetFirstChildContentByPath($XmlRoot"channel/description");
  
  if (!
$title$title $Feed_NoTitle;
  if (
$link) {
    
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
  } else {
    
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
  }

  echo 
'<div class="rsstitlebox">';
  echo 
$outTitle.'<br>'.$desc;
  echo 
"</div>\n";
  
  
$nodelist GetChildrenByPathAndName($XmlRoot"channel""item");
  if (!
$nodelist) return 0;
  
  
$iItemCount 0;
  if(
$Feed_Random){
    
$nl $nodelist[rand(0,count($nodelist)-1)];
    
$title GetFirstChildContentByName($nl"title");
    
$link GetFirstChildContentByName($nl"link");
    
$desc GetFirstChildContentByName($nl"description");
    
$creator GetFirstChildContentByName($nl"author");
    if (!
$creator$creator GetFirstChildContentByName($nl"dc:creator");
    
$pubdate GetFirstChildContentByName($nl"pubDate");
    if (!
$pubdate$pubdate GetFirstChildContentByName($nl"dc:date");
    if (
$pubdate$pubdate strtotime($pubdate);
    if (
$pubdate) {
            if (
strftime("%H%M%S"$pubdate) == "000000") {
              
$pubdate strftime("%d.%m.%Y"$pubdate);
            } else {
                
$pubdate strftime("%d.%m.%Y %H:%M:%S"$pubdate);
            }
    }
    
    if (!
$title$title $Feed_NoTitle;
    if (
$link) {
      
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
    } else {
      
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
    }

    
$outInfo $creator;
    if ( (
$creator != "") && ($pubdate != "") ) $outInfo .= " @ ";
    
$outInfo .= $pubdate;
    if (
$outInfo != ""$outInfo ' <span class="rssiteminfo">('.$outInfo.')</span>';
    
    if (
$Feed_RSS_ShowEnclosure) {
      
$encl "";
      
$enclNode GetFirstChildByName($nl"enclosure");
      if (
$enclNode) {
        
$enclUrl GetAttribByName($enclNode"url");
        
$enclLen intval(GetAttribByName($enclNode"length"));
        
$enclTyp GetAttribByName($enclNode"type");
        
        
$path_parts pathinfo($enclUrl);
        
$enclFile urldecode($path_parts["filename"].'.'.$path_parts["extension"]);

        if (
$enclLen >= 1000 1024) {
          
$enclLen $enclLen 1024 1024;
          
$enclLenOut ' ('.number_format($enclLen2',''.').' MB)';
        } else if (
$enclLen 0) {
          
$enclLen $enclLen 1024;
          
$enclLenOut ' ('.number_format($enclLen0',''.').' KB)';
        } else {
          
$enclLenOut "";
        }
        
        
$encl '<div class="rssenclosure"><a href="'.$enclUrl.'" target="_blank" class="rsslink">'.$enclFile.'</a>'.$enclLenOut.'</div>';
        }
    }
    
    echo 
'<div class="rssitembox">';
    echo 
$outTitle;
    if (
$Feed_ShowInfo) echo $outInfo;
    if (
$Feed_ShowDescription) echo '<div class=rssdescription>'.$desc.'</div>';
    if (
$Feed_RSS_ShowEnclosure) echo $encl;
    echo 
"<div style=\"clear:both;\"></div></div>\n";
    
    
$iItemCount++;
  }else{
  foreach (
$nodelist as $nl) {
    if (
$Feed_MaxItems > -1) if ($iItemCount >= $Feed_MaxItems) break;

    
$title GetFirstChildContentByName($nl"title");
    
$link GetFirstChildContentByName($nl"link");
    
$desc GetFirstChildContentByName($nl"description");
    
$creator GetFirstChildContentByName($nl"author");
    if (!
$creator$creator GetFirstChildContentByName($nl"dc:creator");
    
$pubdate GetFirstChildContentByName($nl"pubDate");
    if (!
$pubdate$pubdate GetFirstChildContentByName($nl"dc:date");
    if (
$pubdate$pubdate strtotime($pubdate);
    if (
$pubdate) {
            if (
strftime("%H%M%S"$pubdate) == "000000") {
              
$pubdate strftime("%d.%m.%Y"$pubdate);
            } else {
                
$pubdate strftime("%d.%m.%Y %H:%M:%S"$pubdate);
            }
    }
    
    if (!
$title$title $Feed_NoTitle;
    if (
$link) {
      
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
    } else {
      
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
    }

    
$outInfo $creator;
    if ( (
$creator != "") && ($pubdate != "") ) $outInfo .= " @ ";
    
$outInfo .= $pubdate;
    if (
$outInfo != ""$outInfo ' <span class="rssiteminfo">('.$outInfo.')</span>';
    
    if (
$Feed_RSS_ShowEnclosure) {
      
$encl "";
      
$enclNode GetFirstChildByName($nl"enclosure");
      if (
$enclNode) {
        
$enclUrl GetAttribByName($enclNode"url");
        
$enclLen intval(GetAttribByName($enclNode"length"));
        
$enclTyp GetAttribByName($enclNode"type");
        
        
$path_parts pathinfo($enclUrl);
        
$enclFile urldecode($path_parts["filename"].'.'.$path_parts["extension"]);

        if (
$enclLen >= 1000 1024) {
          
$enclLen $enclLen 1024 1024;
          
$enclLenOut ' ('.number_format($enclLen2',''.').' MB)';
        } else if (
$enclLen 0) {
          
$enclLen $enclLen 1024;
          
$enclLenOut ' ('.number_format($enclLen0',''.').' KB)';
        } else {
          
$enclLenOut "";
        }
        
        
$encl '<div class="rssenclosure"><a href="'.$enclUrl.'" target="_blank" class="rsslink">'.$enclFile.'</a>'.$enclLenOut.'</div>';
      }
    }
    
    echo 
'<div class="rssitembox">';
    echo 
$outTitle;
    if (
$Feed_ShowInfo) echo $outInfo;
    if (
$Feed_ShowDescription) echo '<div class=rssdescription>'.$desc.'</div>';
    if (
$Feed_RSS_ShowEnclosure) echo $encl;
    echo 
"<div style=\"clear:both;\"></div></div>\n";
    
    
$iItemCount++;
  }
  }
  
// Das Entfernen oder Ändern der nachfolgenden Zeile ist nur mit ausdrücklicher Genhmigung des Autors gestattet!
  
echo '';
}

// #############################################################################

function ShowFeed_Atom($XmlRoot) {
  global 
$Feed_NoTitle;
  global 
$Feed_RSS_ShowEnclosure;
  global 
$Feed_MaxItems;
  global 
$Feed_ShowInfo;
  global 
$Feed_ShowDescription;

  
$title GetFirstChildContentByPath($XmlRoot"title");
  
$link GetFirstChildContentByPath($XmlRoot"link");
  
$desc GetFirstChildContentByPath($XmlRoot"subtitle");
  
  if (!
$title$title $Feed_NoTitle;
  if (
$link) {
    
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
  } else {
    
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
  }

  echo 
'<div class="rsstitlebox">';
  echo 
$outTitle.'<br>'.$desc;
  echo 
"</div>\n";
  
  
$nodelist GetChildrenByPathAndName($XmlRoot"""entry");
  if (!
$nodelist) return 0;
  
  
$iItemCount 0;
  foreach (
$nodelist as $nl) {
    if (
$Feed_MaxItems > -1) if ($iItemCount >= $Feed_MaxItems) break;

    
$title GetFirstChildContentByName($nl"title");
    
$link GetFirstChildContentByName($nl"link");
    
$desc GetFirstChildContentByName($nl"summary");
    
$creator GetFirstChildContentByPath($nl"author/name");
    
$pubdate GetFirstChildContentByName($nl"updated");
    if (!
$pubdate$pubdate GetFirstChildContentByName($nl"modified");
    if (!
$pubdate$pubdate GetFirstChildContentByName($nl"created");
    if (
$pubdate$pubdate strtotime($pubdate);
    if (
$pubdate) {
            if (
strftime("%H%M%S"$pubdate) == "000000") {
              
$pubdate strftime("%d.%m.%Y"$pubdate);
            } else {
                
$pubdate strftime("%d.%m.%Y %H:%M:%S"$pubdate);
            }
    }
    
    if (!
$title$title $Feed_NoTitle;
    if (
$link) {
      
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
    } else {
      
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
    }

    
$outInfo $creator;
    if ( (
$creator != "") && ($pubdate != "") ) $outInfo .= " @ ";
    
$outInfo .= $pubdate;
    if (
$outInfo != ""$outInfo ' <span class="rssiteminfo">('.$outInfo.')</span>';
        
    echo 
'<div class="rssitembox">';
    echo 
$outTitle;
    if (
$Feed_ShowInfo) echo $outInfo;
    if (
$Feed_ShowDescription) echo '<div class=rssdescription>'.$desc.'</div>';
    echo 
"<div style=\"clear:both;\"></div></div>\n";
    
    
$iItemCount++;
  }
  
  
// Das Entfernen oder Ändern der nachfolgenden Zeile ist nur mit ausdrücklicher Genhmigung des Autors gestattet!
  
echo '';
}

// #############################################################################

function ShowFeed_RDF($XmlRoot) {
  global 
$Feed_NoTitle;
  global 
$Feed_MaxItems;
  global 
$Feed_ShowInfo;
  global 
$Feed_ShowDescription;

  
$title GetFirstChildContentByPath($XmlRoot"channel/title");
  
$link GetFirstChildContentByPath($XmlRoot"channel/link");
  
$desc GetFirstChildContentByPath($XmlRoot"channel/description");
  
  if (!
$title$title $Feed_NoTitle;
  if (
$link) {
    
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
  } else {
    
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
  }

  echo 
'<div class="rsstitlebox">';
  echo 
$outTitle.'<br>'.$desc;
  echo 
"</div>\n";

  
$nodelist $XmlRoot->children;
  if (!
$nodelist) return 0;
  
  
$iItemCount 0;
  foreach (
$nodelist as $nl) {
    if (
$Feed_MaxItems > -1) if ($iItemCount >= $Feed_MaxItems) break;
    if (
strtolower($nl->name) != "item") continue;
    
    
$title GetFirstChildContentByName($nl"title");
    
$link GetFirstChildContentByName($nl"link");
    
$desc GetFirstChildContentByName($nl"description");
    
$creator GetFirstChildContentByName($nl"author");
    
$creator GetFirstChildContentByName($nl"dc:creator");
    
$pubdate GetFirstChildContentByName($nl"pubDate");
    if (!
$pubdate$pubdate GetFirstChildContentByName($nl"dc:date");
    if (
$pubdate != ""intval($pubdate strtotime($pubdate));
    if (
$pubdate 0$pubdate strftime("%d.%m.%Y"$pubdate); else $pubdate "";
    
    if (!
$title$title $Feed_NoTitle;
    if (
$link) {
      
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
    } else {
      
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
    }

    
$outInfo $creator;
    if ( (
$creator != "") && ($pubdate != "") ) $outInfo .= " @ ";
    
$outInfo .= $pubdate;
    if (
$outInfo != ""$outInfo ' <span class="rssiteminfo">('.$outInfo.')</span>';
    
    echo 
'<div class="rssitembox">';
    echo 
$outTitle;
    if (
$Feed_ShowInfo) echo $outInfo;
    if (
$Feed_ShowDescription) echo '<div class=rssdescription>'.$desc.'</div>';
    echo 
"<div style=\"clear:both;\"></div></div>\n";
    
    
$iItemCount++;
  }
  
  
// Das Entfernen oder Ändern der nachfolgenden Zeile ist nur mit ausdrücklicher Genhmigung des Autors gestattet!
  
echo '';
}

// #############################################################################

function ShowFeed_SMFXMLFEED($XmlRoot$link$title$desc) {
  global 
$Feed_NoTitle;
  global 
$Feed_MaxItems;
  global 
$Feed_ShowInfo;
  global 
$Feed_ShowDescription;

  if (!
$title$title $Feed_NoTitle;
  if (
$link) {
    
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
  } else {
    
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
  }

  echo 
'<div class="rsstitlebox">';
  echo 
$outTitle.'<br>'.$desc;
  echo 
"</div>\n";

  
$nodelist $XmlRoot->children;
  if (!
$nodelist) return 0;
  
  
$iItemCount 0;
  foreach (
$nodelist as $nl) {
    if (
$Feed_MaxItems > -1) if ($iItemCount >= $Feed_MaxItems) break;
    
    
$title GetFirstChildContentByName($nl"subject");
    
$link GetFirstChildContentByPath($nl"link");
    
$desc GetFirstChildContentByName($nl"body");
    
$poster GetFirstChildContentByPath($nl"poster/name");
    
$posterlink GetFirstChildContentByPath($nl"poster/link");
    
    if (!
$title$title $Feed_NoTitle;
    if (
$link) {
      
$outTitle '<a href="'.$link.'" target="_blank" class="rsslink"><span class="rssitemtitle">'.$title.'</span></a>';
    } else {
      
$outTitle '<span class="rssitemnolinktitle">'.$title.'</span>';
    }

    if ( (
$poster != "") && ($posterlink != "") ) $poster '<a href="'.$posterlink.'" class="rsslink">'.$poster.'</a>';
    
$pubdate GetFirstChildContentByName($nl"time");
    
$outInfo $poster;
    if ( (
$poster != "") && ($pubdate != "") ) $outInfo .= " @ ";
    
$outInfo .= $pubdate;
    if (
$outInfo != ""$outInfo ' <span class="rssiteminfo">('.$outInfo.')</span>';

    echo 
'<div class="rssitembox">';
    echo 
$outTitle;
    if (
$Feed_ShowInfo) echo $outInfo;
    if (
$Feed_ShowDescription) echo '<div class=rssdescription>'.$desc.'</div>';
    echo 
"<div style=\"clear:both;\"></div></div>\n";
    
    
$iItemCount++;
  }
  
  
// Das Entfernen oder Ändern der nachfolgenden Zeile ist nur mit ausdrücklicher Genhmigung des Autors gestattet!
  
echo '';
}

// #############################################################################

function GetAttribByName($XmlNode$sName$bCase false) {
  if (!
$bCase$sName strtolower($sName);
  if (!
$bCase$aAttributes array_change_key_case($XmlNode->attributesCASE_LOWER);
  if (isset(
$aAttributes[$sName])) return $aAttributes[$sName]; else return false;
}

// #############################################################################

function GetChildrenByPathAndName($XmlRoot$sPath$sName$bCase false) {
  
$oRes = array();
  
$oNode $XmlRoot;
  
  if (
$sPath != "") {
        
$aPath GetPath($sPath);
        foreach (
$aPath as $p) {
            
$oNode GetFirstChildByName($oNode$p);
            if (!
$oNode) return false;
        }
  }
  
  foreach (
$oNode->children as $c) {
    if (
$bCase) {
      if (
strcmp($c->name$sName) == 0$oRes[count($oRes)] = $c;
    } else {
      if (
strcasecmp($c->name$sName) == 0$oRes[count($oRes)] = $c;
    }
  }
  return 
$oRes;
}

// #############################################################################

function GetChildrenByPath($XmlRoot$sPath$bCase false) {
  
$aPath GetPath($sPath);
  
$oNode $XmlRoot;
  foreach (
$aPath as $p) {
    
$oNode GetFirstChildByName($oNode$p$bCase);
    if (!
$oNode) return false;
  }
  return 
$oNode->children;
}

// #############################################################################

function GetFirstChildContentByPath($XmlRoot$sPath$bCase false) {
  
$oNode GetFirstChildByPath($XmlRoot$sPath$bCase);
  if (
$oNode) return $oNode->content; else return "";
}

// #############################################################################

function GetFirstChildByPath($XmlRoot$sPath$bCase false) {
  
$aPath GetPath($sPath);
  
$oNode $XmlRoot;
  foreach (
$aPath as $p) {
    
$oNode GetFirstChildByName($oNode$p$bCase);
    if (!
$oNode) return false;
  }
  return 
$oNode;
}

// #############################################################################

function GetFirstChildContentByName($oParent$sName$bCase False) {
  
$oNode GetFirstChildByName($oParent$sName$bCase);
  if (
$oNode) return $oNode->content; else return "";
}

// #############################################################################

function GetFirstChildByName($oParent$sName$bCase false) {
  if (
count($oParent->children) < 1) return 0;
  if (
$bCase$sName strtolower($sName);
  foreach (
$oParent->children as $c) {
    if (
$bCase) {
      if (
strcmp($c->name$sName) == 0) return $c;
    } else {
      if (
strcasecmp($c->name$sName) == 0) return $c;
    }
  }
  return 
false;
}

// #############################################################################

function GetPath($sPath$iMax 32) {
  return 
split("/"$sPath$iMax);
}

// #############################################################################

class XmlElement {
  var 
$name;
  var 
$attributes;
  var 
$content;
  var 
$children;
};

// #############################################################################

function ParseXmlFile($sFileName) {
  
$handle = @fopen($sFileName"rb");
  
$xml '';
  if (!
$handle) return false;
  while (!
feof($handle)) {
    
$xml .= fread($handle4096);
  }
  
fclose($handle);

  
$parser xml_parser_create();
  
xml_parser_set_option($parserXML_OPTION_CASE_FOLDING0);
  
xml_parser_set_option($parserXML_OPTION_SKIP_WHITE1);
  
xml_parser_set_option($parserXML_OPTION_TARGET_ENCODING"ISO-8859-1");
  
xml_parse_into_struct($parser$xml$tags);
  
xml_parser_free($parser);

  
$elements = array();
  
$stack = array();
  
$iItemCount 0;
  foreach (
$tags as $tag) {
   
$index count($elements);
   if ( (
$tag['type'] == "complete") || ($tag['type'] == "open") ) {
     
$elements[$index] = new XmlElement;
     if (isset(
$tag['tag'])) $elements[$index]->name $tag['tag'];
     if (isset(
$tag['attributes'])) $elements[$index]->attributes $tag['attributes'];
     if (isset(
$tag['value'])) $elements[$index]->content $tag['value'];
     if (
$tag['type'] == "open") {
       
$elements[$index]->children = array();
       
$stack[count($stack)] = &$elements;
       
$elements = &$elements[$index]->children;
     }
   }
   if (
$tag['type'] == "close") {
     
$elements = &$stack[count($stack) - 1];
     unset(
$stack[count($stack) - 1]);
   }
  }
  return 
$elements[0];
}

// #############################################################################

?>
Butzi ist offline   Mit Zitat antworten
Alt 26.12.2011, 16:24  
meikel
Gast
 
Beiträge: n/a
Standard

Man schwitzt Ihr bunte PHP Tinte....

http://mod.php.developer.vc/rss-1/
Quelltext wird am Schluß angezeigt.
  Mit Zitat antworten
Alt 26.12.2011, 16:55  
Neuer Benutzer
 
Registriert seit: 25.12.2011
Beiträge: 21
PHP-Kenntnisse:
Anfänger
Butzi befindet sich auf einem aufstrebenden Ast
Standard

Was soll mir das jetzt genau sagen?
Kann in meinem Feed keinen Fehler erkennen,
könntest mir da konkreter einen Tipp geben?
Butzi ist offline   Mit Zitat antworten
Alt 26.12.2011, 17:35  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Butzi Beitrag anzeigen
könntest mir da konkreter einen Tipp geben?
Mein Tip wäre das:
http://mod.php.developer.vc/rss-3/

Mein vorheriges Beispiel geringfügig angepaßt, da bei Deinem RSS feed channel->image->link, channel->image->url und channel->description fehlen.
PHP-Code:
<?php
$url 
'http://www.was-soll-ich-heute-essen.de/feeds/rezepte.xml';
$xml simplexml_load_string(file_get_contents($url));
print (
'<p>');
foreach (
$xml->channel->item as $nachricht).{
  
$desc utf8_decode($nachricht->description);
  
printf('<a href="%s">%s</a>%s<br />',
    
$nachricht->link,
    
utf8_decode($nachricht->title),
    (!empty(
$desc))
      ? 
sprintf ('<br>%s'$desc)
      : 
''
  
);
}
print (
'</p>');
?>
Ich bin schreibfaul und nutze deshalb simpleXML.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe mit einem Aray benötigt tommy99 Datenbanken 1 18.06.2011 03:55
Brauche Hilfe bei PHP / Onlineshop dennis2k Gewerblich 0 31.01.2011 19:08
Hilfe bei join benötigt wuulf01 Datenbanken 3 23.08.2010 17:13
Hilfe bei SQL Suchabfrage benötigt. Er findet nur bestimmte wörter. flevoa Datenbanken 5 23.08.2010 17:07
Kontaktformular???kleine hilfe benötigt muahaha PHP Tipps 2010 9 28.07.2010 12:01
preg_match Hilfe benötigt fuXz PHP Tipps 2010 3 19.06.2010 17:02
Hilfe bei Mysql Query aus mehreren spalten benötigt cytrobic Datenbanken 8 18.05.2007 11:36
HIlfe benötigt PHP Tipps 2005 5 23.03.2005 16:33
DRINGEND HILFE BENÖTIGT! PHP Tipps 2005 14 16.03.2005 19:03
dringende Hilfe für Uniaufgabe benötigt!!! Datenbanken 7 23.02.2005 13:20
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
[Erledigt] Chat Server mit Datenbank realisieren - - - Hilfe benötigt PHP Tipps 2004-2 3 14.12.2004 18:38
HTTP Request - hilfe dringend benötigt! PHP Tipps 2004-2 3 09.11.2004 20:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
rss reader php, $feed_showdescription = true;, function showfeed($rssfeedfile) { function showfeed($rssfeedfile) { function showfeed($rssfeedfile) {, $pubdate) == \'000000\'

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum