0
RSS 피드의 URL이 제공되면 링크 된 목록을 반환하는 스크립트가 있습니다. PHP 5.2를 실행하는 서버에 있습니다. 이 스크립트는 내가 제공 한 다른 RSS 피드와 잘 작동하지만 다음 URL에서 작동하지 않습니다..csp 파일에서 RSS에 대해 simplexml_load_string이 작동하지 않습니다. (PHP 5.2)
는 URL : https://www.nwp.org/rss.csp
<?php
//SETUP THE VARIABLES
if(!strlen($RSSFEED_URL)) { $RSSFEED_URL = $_GET['url']; }
if(!strlen($RSSFEED_LIMIT)) { $RSSFEED_LIMIT = abs($_GET['limit']); }
if(!strlen($RSSFEED_EXCERPT)) { $RSSFEED_EXCERPT = abs($_GET['excerpt']); }
if(!strlen($RSSFEED_DATE)) { $RSSFEED_DATE = abs($_GET['date']); }
if(!strlen($RSSFEED_LINK)) { $RSSFEED_LINK = $_GET['link']; }
//SET DEFAULTS
if($RSSFEED_LIMIT > 15 || !strlen($_GET['limit'])) { $RSSFEED_LIMIT = 5; }
if($RSSFEED_EXCERPT !== 0) { $RSSFEED_EXCERPT = 1; }
if($RSSFEED_DATE !== 0) { $RSSFEED_DATE = 1; }
//CONNECT THE FEED
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, .6);
curl_setopt($ch, CURLOPT_URL, $RSSFEED_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_HEADER, false);
$RSSFEED_CONTENTS = curl_exec($ch);
$RSSFEED_CONTENTS = preg_replace('/&(?![A-Za-z0-9#]{1,7};)/','&',$RSSFEED_CONTENTS);
curl_close($ch);
if($RSSFEED_CONTENTS){
$RSSFEED = simplexml_load_string($RSSFEED_CONTENTS);
if(!strlen($RSSFEED_LINK)) { $RSSFEED_LINK = $RSSFEED->channel->link; }
if(sizeof($RSSFEED->channel->item) < $RSSFEED_LIMIT){ $RSSFEED_LIMIT = sizeof($RSSFEED->channel->item); }
for($i = 0; $i < $RSSFEED_LIMIT; $i++){
echo '
<p>
<a href="'. $RSSFEED->channel->item[$i]->link .'">'. $RSSFEED->channel->item[$i]->title .'</a>';
if($RSSFEED_EXCERPT){
echo '
<br />' . $RSSFEED->channel->item[$i]->description;
}
if($RSSFEED_DATE){
echo '
<br />' . date("F j h:ia", strtotime($RSSFEED->channel->item[$i]->pubDate));
}
echo '
</p>';
}
echo '
<p class="last" align=right>
<span class="more">
<a href="'. $RSSFEED_LINK .'">Read More ›</a>
</p>';
}
else{
echo '
<p>RSS Feed Unavailable.</p>';
}
?>