2012-02-12 2 views
0

Я не включал URL моего сайта, это форум vbulletin и все параметры rss/xml включены. (что я знаю в любом случае)VBulletin RSS-канал на главный сайт

<?php 
// this is the url of the rss feed that you want to display 
$feed = curl_init('http://myvbforum.com/external.php?type=rss2&forumid=33'); 
curl_setopt($feed, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($feed, CURLOPT_HEADER, 0); 
$xml = simplexml_load_file($feed); 
curl_close($feed); 
//if the feed exists, then continue... 
if ($xml!=''){ 
foreach ($xml->channel->item as $item){ 
// create variables from the title and description (can also be used for images and links) 
$title = $item->title; 
$description = $item->description; 
$date = $item->pubDate; 
$user = $item->dc:creator; 
// displays the title and description on your website, formatted any way you want 
echo '<p><b>'.$title.'</b> - On '.$date.' by '.$user.' <br />'.$description.'</p>'; 
}} 
?> 

Это код, который я использую. У меня не было даты на нем раньше, но я понял это, пройдя мой rss2-канал с моего форума. Тем не менее, я не могу понять, как получить, кто должен опубликовать автора сообщения. Когда я просмотрел страницу rss2, единственной ссылкой на автора, которую я могу найти, является переменная dc: creator. Который я попытался добавить к моему коду. Тем не менее я получаю ошибку в

Синтаксическая: ошибка синтаксиса, неожиданный «:» в /public_html/bfdm/1/rss.php на линии 16

Это, по-видимому, не нравится:.

Я попытался использовать загрузку DOM ($ xml = new DOMDocument(); $ xml-> load ($ feed);) но не работает.

В основном я просто хочу вытащить тему, дату, пользователя и поток из моих сообщений Vbulletin. Это сводило меня с ума в течение нескольких дней.

Теперь вдруг им получать

Предупреждение: simplexml_load_file() ожидает параметр 1, чтобы быть строка, ресурс приведен в /public_html/bfdm/1/rss.php на линии 6

В коде выше

ответ

1

Это должно работать (или по крайней мере работать, когда он имеет -):

$user = $item->{'dc:creator'}; 

И то же самое должно быть сделано с какой-либо другой спецификации ial символов в имени, например -.

Редактировать: не в этом случае. Тем не менее, окончательный, рабочий код должен быть:

<?php 
// this is the url of the rss feed that you want to display 
$feed = 'URL OF THE RSS'; //replace this with the RSS's URL 
$xml = simplexml_load_file($feed); 
//if the feed exists, then continue... 
if ($xml!=''){ 
foreach ($xml->channel->item as $item){ 
// create variables from the title and description (can also be used for images and links) 
$title = $item->title; 
$description = $item->description; 
$date = $item->pubDate; 
$user = $item->children('dc', true)->creator; 
// displays the title and description on your website, formatted any way you want 
echo '<p><b>'.$title.'</b> - On '.$date.' by '.$user.' <br />'.$description.'</p>'; 
}} 
?> 
+0

Новый выпуск это Внимание: simplexml_load_file() ожидает параметр 1, чтобы быть строка, ресурс приведен в /public_html/bfdm/1/rss.php строке 6 Не знаю, почему его внезапно это дало (прежде чем я попытался использовать ваше предложение) – SynSe7en

+0

Используйте '$ feed = 'http: //myvbforum.com/external.php? Type = rss2 & forumid = 33';' и он будет работать. Не нужно закручиваться. – axiomer

+0

Это дает мне несколько ошибок в curl, но я предполагаю, что проблема связана с попыткой вызова из завитка, которого нет. Однако имя плаката все еще не отображается. Это проблема с vbulletins RSS2? это возможно с rss? – SynSe7en

Смежные вопросы