Алекс уже показал, как вы можете использовать fputcsv
для создания файла CSV, но у вас все еще есть проблемы с чтением из канала.
Прежде всего, вы можете более непосредственно выполнять итерации по элементам канала., поэтому проще написать свой скрипт:
$doc = new SimpleXmlElement($data, LIBXML_NOCDATA);
foreach($doc->channel->item as $item)
{
$link = $item->link;
$title = $item->title;
}
Чтобы получить ценник, вам нужно получить доступ к дочернему элементу другого пространства имен.Пространство имен определено в файле RSS, и вам необходимо знать его URI.Для gd:
это:
http://app.fastshoppingcart.com/rss/featuredProduct/1.0
Затем вы можете получить доступ к цене, как в следующем расширенном примере:
$doc = new SimpleXmlElement($data, LIBXML_NOCDATA);
foreach($doc->channel->item as $item)
{
$link = $item->link;
$title = $item->title;
$gd = $item->children('http://app.fastshoppingcart.com/rss/featuredProduct/1.0');
$price = $gd->price;
}
Теперь вы написали, что хотите удалить теги изполе описания.Это не очень хороший код, но он быстро выполняет свою работу:
$description = strip_tags(html_entity_decode($item->description));
$description = str_replace(array("\xA0", "\r", "\n", "\t", "\l", "\f"), ' ', $description);
$description = preg_replace('/\s{2,}/', ' ', $description);
Он использует strip_tags
для удаления всех тегов, а затем пробелы нормализуются с помощью str_replace
и preg_replace
.
Надеюсь, это полезно.