| | | | |
| | |
| Erfahrener Benutzer Registriert seit: 21.07.2003
Beiträge: 340
PHP-Kenntnisse: Fortgeschritten ![]() | Hallo zusammen... Mein Plan: Ich möchte eine Funktion machen, der man eine URL eines RSS-Feeds übergibt, dieser wird dann in ein Array zerlegt und das Array zurückgegeben. Das Array stell ich mir folgendermaßen vor: $_feed['url'] = "http://irgendwas.rss" $_feed['channel']['title'] = "der Titel" $_feed['channel']['link'] = "http://derlinkdazu.de" $_feed['channel']['descr'] = "die Beschreibung" $_feed['items'][0]['title'] = "Item 1" $_feed['items'][0]['link'] = "Link 1" $_feed['items'][1]['title'] = "Item 2" $_feed['items'][1]['link'] = "Link 2" und so weiter... mein Problem: ich bin ganz schlecht in regulären Ausdrücken... ![]() ich hab jetzt also das gesamte RSS in einem String namens $feed_content aus dem ich jetzt versuche den text zwischen den einzelnen tags zu extrahieren. allerdings komm ich mit preg_match() nicht weit... wie kann ich beispielsweise den feed titel extrahieren, der sich innerhalb des title-tags befindet, welcher sich wiederum im channel-tag befindet?? bitte helft mir auf die sprünge... Simon
__________________ simbo.de |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| 1. PHP5 installieren 2. das durchlesen: http://www.php.net/manual/de/ref.simplexml.php 3. das angucken: http://test.php-help.info/rss-1/ (Quelltext wird angezeigt) Mit PHP4 geht es auch, ist aber ein fürchterlicher Aufriß. |
| | |
| Erfahrener Benutzer Registriert seit: 21.07.2003
Beiträge: 340
PHP-Kenntnisse: Fortgeschritten ![]() | php5 fällt leider flach... hab jetzt aber mal eine erste version fertig... mit den feeds von heise.de und php.net funktionierts schon mal... wenns jemand interessiert, hier der code: Code: function feed2array($feed)
{
$feed_content = implode("", file($feed));
$_feed = array();
$_feed['url'] = $feed;
$_feed['channel'] = array();
$_feed['items'] = array();
preg_match_all("/\<channel.*?\>.*?\<title\>(.*?)\<\/title\>.*?\<\/channel\>/si", $feed_content, $_channel_title, PREG_PATTERN_ORDER);
preg_match_all("/\<channel.*?\>.*?\<link\>(.*?)\<\/link\>.*?\<\/channel\>/si", $feed_content, $_channel_link, PREG_PATTERN_ORDER);
preg_match_all("/\<channel.*?\>.*?\<description\>(.*?)\<\/description\>.*?\<\/channel\>/si", $feed_content, $_channel_descr, PREG_PATTERN_ORDER);
$_feed['channel']['title'] = $_channel_title[1][0];
$_feed['channel']['link'] = $_channel_link[1][0];
$_feed['channel']['description'] = $_channel_descr[1][0];
preg_match_all("/\<item.*?\>.*?\<title\>(.*?)\<\/title\>.*?\<\/item\>/si", $feed_content, $_items_titles, PREG_PATTERN_ORDER);
preg_match_all("/\<item.*?\>.*?\<link\>(.*?)\<\/link\>.*?\<\/item\>/si", $feed_content, $_items_links, PREG_PATTERN_ORDER);
preg_match_all("/\<item.*?\>.*?\<description\>(.*?)\<\/description\>.*?\<\/item\>/si", $feed_content, $_items_descrs, PREG_PATTERN_ORDER);
foreach($_items_titles[1] as $key => $title)
{
$_feed['items'][$key] = array();
$_feed['items'][$key]['title'] = $title;
$_feed['items'][$key]['link'] = $_items_links[1][$key];
$_feed['items'][$key]['description'] = $_items_descrs[1][$key];
}
return $_feed;
}
$_feed = feed2array("http://www.heise.de/newsticker/heise.rdf");
echo "<pre>";
print_r($_feed);
echo "</pre><hr>";
$_feed = feed2array("http://www.php.net/news.rss");
echo "<pre>";
print_r($_feed);
echo "</pre><hr>";
vorschläge? verbesserungen? her damit... Simon
__________________ simbo.de |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Turnierbaum aus array erstellen | kingflo | PHP-Fortgeschrittene | 11 | 30.07.2008 11:32 |
| Soapfault: Undefined Property | Argi | PHP-Fortgeschrittene | 0 | 28.07.2008 11:17 |
| Kategoriedaten rekursiv in Array bringen | Schiedsrichter | PHP Tipps 2008 | 2 | 10.12.2007 15:43 |
| ARRAY: alle möglichen Kombinationen | Tentacle | PHP Tipps 2006 | 13 | 12.05.2006 00:18 |
| Übersicht aus mehrdimensionalem Array erzeugen | Crypi | PHP-Fortgeschrittene | 0 | 30.01.2006 13:44 |
| Array auslesen | andrew22 | PHP Tipps 2006 | 3 | 21.01.2006 23:06 |
| Array Formatierung | PHP Tipps 2006 | 3 | 17.01.2006 19:12 | |
| Menü mit Unterpunkten | supertramp | Beitragsarchiv | 7 | 18.10.2005 22:40 |
| Problem beim vergleichen von 2 Arrays | PHP Tipps 2005-2 | 1 | 06.10.2005 14:25 | |
| (schnellere) Funktion zum Zusammenfassen von CSS | PHP-Fortgeschrittene | 21 | 08.08.2005 16:47 | |
| Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) | Buhmann | PHP-Fortgeschrittene | 4 | 12.07.2005 14:03 |
| Array wie auslesen? | PHP Tipps 2005 | 7 | 07.03.2005 11:43 | |
| [Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln | PHP-Fortgeschrittene | 3 | 03.01.2005 22:31 | |
| Abfrage mit id aus anderer Tabelle | suter | PHP Tipps 2004-2 | 15 | 16.12.2004 14:25 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| rss to array, rss feed in array, php rss feed to array, php5 rss feed to array, feed in array, php rss to array, rss in array, php array rss, feed to array php, feed2array php, rss php array, rss feeds 2 array, rss in array php, php rss feed in array, rss feed in array php, php feed array, heise rss feed mit php 4 auslesen, php feed in array, array aus rss erstellen, php rss feed from array |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.