Hirdetés
-
Több Redmi, mint kolbász
ma Újabb premier készül, a Redmi 13 5G-n a sor.
-
Deliver Us the Moon - Jövő hónapban jön Switch-re
gp Bár korábban elkaszálták a Nintendo gépére szánt változatot, júliusban mégis megkapjuk az új kiadást.
-
Új SSD-vel bővül a WD Blue szériája
ph Az SN5000 egy belépőszintű modell, a WD saját kontrollerével, viszont 4 TB-os kapacitással is elérhető lesz.
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz orkester #10048 üzenetére
Pedig azzal kezdtem a hozzászólásomat, hogy leírtam, melyik foreach blokkon belülre kellene tenned.
Mutatok inkább komplett kódot a tiéd alapján, amiben definiálok egy my_var_export() függvényt, ami tesztelésre kiváló, hogy megnézd, mi az adott változó tartalma, és az adott változó milyen típusú. Nálam most az RSS feedet tartalmazó XML-fájl neve test.xml lesz.
A teszt kedvéért az XML-fájlt kiegészítettem a tiéden felül egy saját <item>-mel is.index.php:
<?php
header('Content-Type: text/html; charset=utf-8');
function my_var_export($variable, $text = '...') {
return '<p>' . $text . ' (type: "' . (gettype($variable)) . '"):</p><pre>' . var_export($variable, TRUE) . '</pre>';
}
$feed_url = 'test.xml';
libxml_use_internal_errors(true);
$RSS_DOC = simpleXML_load_file($feed_url);
if (!$RSS_DOC) {
echo "Failed loading XML\n";
foreach (libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
foreach ($RSS_DOC->channel->item as $RSSitem) {
$categories = array();
foreach ($RSSitem->category as $category_index => $category) {
$categories[] = $category;
}
$categories_string = implode(',', $categories);
echo my_var_export($categories_string, '$categories_string');
}test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Test RSS feed</title>
<link>http://example.com</link>
<description>Read RSS feed</description>
<item>
<link>
http://www.pafi.hu/_pafi/palyazat.nsf/ervdocidweburlap/490FAC2B35FC9E0EC1257A0F0038DC43
</link>
<title>
<![CDATA[
Milyen kérdést intéznék a miniszterekhez, ha képviselő lennék?
]]>
</title>
<description>
<![CDATA[
A kíirók pályázatot hirdetnek gyermekintézmények számára a Gyermekek Világnapja alkalmából.
]]>
</description>
<category>gyermek, ifjúság</category>
<category>közművelődés</category>
<category>művészet</category>
<category>szociális</category>
<pubDate>Sun, 03 Jun 2012 23:51:34</pubDate>
</item>
<item>
<link>
http://prohardver.hu/tema/php_kerdesek_2/friss.html
</link>
<title>
<![CDATA[
PHP kérdések
]]>
</title>
<description>
<![CDATA[
A Prohardver! lapcsalád PHP-kérdésekkel foglalkozó fóruma.
]]>
</description>
<category>webfejlesztés</category>
<category>programozás</category>
<category>PHP</category>
<category>Prohardver!</category>
<pubDate>Thu, 07 Jun 2012 13:05:05</pubDate>
</item>
</channel>
</rss>==============================================
KIMENET:
$categories_string (type: "string"):
'gyermek, ifjúság,közművelődés,művészet,szociális'
$categories_string (type: "string"):
'webfejlesztés,programozás,PHP,Prohardver!'==============================================
Ebből jól látszik, hogy vesszővel elválasztva bekerült egy változóba az összes kategória.
Természetesen a sima vesszős megoldás nem feltétlenül jó, ha a fent látható módon a "gyermek, ifjúság" egyetlen kategóriának minősül, mert egy vessző mentén történő "szétrobbantásnál" külön kategóriába kerülhet.
Ezért a legjobb lenne szépen szétválasztani, many-to-many relation alkalmazásával az adatbázisban.[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
- Formula-1
- A fociról könnyedén, egy baráti társaságban
- ASUS Vivobook Snapdragonnal: talán egy új korszak kezdete!
- Milyen egeret válasszak?
- Mibe tegyem a megtakarításaimat?
- Politika
- PlayStation 5
- Jövedelem
- Hobby elektronika
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- További aktív témák...