我使用这个PHP从RSS提要中获取标题列表:
<?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>';
}
?>
我想使用<category>
并将其添加为类,但<category>
元素会针对每个<item>
显示1,2,3,4或更多次,具体取决于标题。如果超过1,我如何获取category元素并用空格分隔每个类别?
答案 0 :(得分:0)
如何在数组中累积类别然后内爆数组呢?
$categoriesArray = array();
foreach ($rss->items as $item) {
array_push($categoriesArray, $item['category']);
}
$categories = implode(" ", $categoriesArray);
编辑添加
如果类别累积,您可以尝试这样的事情:
$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,它对处理这类问题非常有用