PHP + RSS yinelenen elemanları

1 Cevap

Başlık adlı bir RSS beslemesi bir listesini almak için bu PHP kullanarak im:

<?php require_once('magpie/rss_fetch.inc');
$rss = fetch_rss('http://live.visitmix.com/Sessions/RSS');

foreach ($rss->items as $item) { 
    $cat = $item['category'];
    $title = $item['title'];
        echo '<li class="'.$cat.'">'.$title.'</li>';
}

?>

I <category> kullanmak ve sınıf olarak eklemek istediğiniz, ancak <category> elemanı bağlı olarak her <item>, 1,2,3,4 veya daha fazla kez görüntülenir Başlık. 1'den fazla olması durumunda nasıl bir boşluk kategori elemanı ve ayrı ayrı, her kategoriyi alabilir?

1 Cevap

ne bir dizi kategorileri biriken ve sonra dizi implode hakkında?

$categoriesArray = array();

foreach ($rss->items as $item) { 
    array_push($categoriesArray, $item['category']);
}
$categories = implode(" ", $categoriesArray);

EDIT TO ADD

Kategoriler kümülatif iseniz, böyle bir şey deneyebilirsiniz:

$categoriesByTitle = array();

foreach ($rss->items as $item) { 
        $currentTitle = $item['title'];
        $categories = $categoriesByTitle[$currentTitle];
        if ($categories == NULL) {
            $categories = array();
            $categoriesByTitle[$currentTitle] = $categories;
        }
        if (!in_array($item['category'], $categories)) {
            array_push($categories, $item['category']);
        }
}
foreach ($categoriesByTitle as $title=>$category) {
    // use implode for each title
    $categoryString = implode(" ", $category);
    echo '<li class="'.$categoryString.'">'.$title.'</li>';
}

reference for arrays, bu sorunların bu tür ile başa çıkmak için çok yararlı olabilir bu kontrol