[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с изображениями при импорте RSS
DontShooot
Использую этот скрипт для импорта RSS себе на страницу, но у меня проблема с отображением изображений - дело в том что их адрес (rss_site.ru/folder/image1.jpg) подменяется на (my_site.ru/folder/image1.jpg) - как с этим бороться?

<?php
/**********************************************************
* Parse XML data into an array structure *
* Usage: array parse_rss ( string data ) *
**********************************************************/

function parse_rss($reg_exp, $xml_data) {
preg_match_all($reg_exp, $xml_data, $temp);
return array(
'count'=>count($temp[0]),
'title'=>$temp[1],
'link'=>$temp[2],
'desc'=>$temp[3],
'pubdate'=>$temp[4] //добавлено
);
}

/**********************************************************
* Parse Array data into an HTML structure *
* Usage: string parse_rss ( array data ) *
**********************************************************/

function output_rss($pattern, $rss_data) {
$temp = "";
for($i=0; $i<$rss_data['count']; $i++) {
$temp .= sprintf($pattern,
$rss_data['link'][$i],
html_entity_decode($rss_data['title'][$i]),
html_entity_decode($rss_data['desc'][$i]),
$rss_data['pubdate'][$i] //добавлено
);
}
return $temp;
}

/**********************************************************
* Settings *
**********************************************************/

$url = 'http://mxworld.ru/data/rss/82/';

$reg_exp = '#<item>.*?<title>(.*?)<\/title>.*?';
$reg_exp .='<link>(.*?)<\/link>.*?<description>';
$reg_exp .='(.*?)<\/description>.*?<pubDate>'; //исправлено
$reg_exp .= '(.*?)<\/pubDate>.*?<\/item>#si'; //добавлено

$pattern = '<a href="%s">%s</a><br>%s<br>Date: %s<hr>';

/**********************************************************
* Main script *
**********************************************************/

if ( $xml_data = file_get_contents($url) ) {
$rss_data = parse_rss($reg_exp, $xml_data);
echo output_rss($pattern, $rss_data);
}
/**********************************************************
* The END *
**********************************************************/

?>




Спустя 8 часов, 1 минута, 38 секунд (13.08.2010 - 07:41) linker написал(а):
Для таких вещей есть SimpleXML или мой любимый DOM (тут).
$var = str_replace('rss_site.ru', 'my_site.ru', $var);

Спустя 16 часов, 1 минута, 54 секунды (13.08.2010 - 23:43) DontShooot написал(а):
Спасибо, работает
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.