probleem met uitlezen categories rss
Ook al bevat een item meerdere categories, krijg ik uiteindelijk enkel de eerste category in beeld met onderstaande code.
Klik hierom het resultaat te zien.
-- opgelost --
Gewijzigd op 25/07/2017 15:30:10 door Alex Koedooder
De eerste? De laatste?
---
Overigens geweldig dat de MSX nog leeft.
Moet de mijne eens opsporen. Zal wel onder het stof zitten...
De feed urls zitten in script bijgesloten.
Volgens mij moet er een extra array bijgebouwd worden, voor de categorien specifiek, maar dan nog blijft de vraag hoe is dit in eind resultaat te embedden met meerdere feeds. Ben benieuwd naar de mogelijke oplossingen.
Toevoeging op 25/07/2017 15:31:54:
Heb de oplossing al gevonden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
foreach ($urlArray as $url) {
$rss->load($url['url'], LIBXML_NOCDATA);
foreach ($rss->getElementsByTagName('item') as $node) {
$categorie = "";
$categories = $node->getElementsByTagName('category');
foreach ($categories as $category) {
$categorie = "".$categorie." | ".$category->nodeValue."";
}
$item = array (
'site' => $url['name'],
'site_source' => $url['source'],
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'author' => $node->getElementsByTagName('creator')->item(0)->nodeValue,
'category' => $categorie,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
}?>
foreach ($urlArray as $url) {
$rss->load($url['url'], LIBXML_NOCDATA);
foreach ($rss->getElementsByTagName('item') as $node) {
$categorie = "";
$categories = $node->getElementsByTagName('category');
foreach ($categories as $category) {
$categorie = "".$categorie." | ".$category->nodeValue."";
}
$item = array (
'site' => $url['name'],
'site_source' => $url['source'],
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'author' => $node->getElementsByTagName('creator')->item(0)->nodeValue,
'category' => $categorie,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
}?>
moet enkel nog scheidingsteken | nog opruimen, maar het resultaat is iig bereikt.
Gewijzigd op 25/07/2017 14:37:32 door Alex Koedooder
En wat refactoring wellicht. ($item = array(...) + array_push($feed, $item) = $feed[] = array(...))
En misschien wat annotatie.