C'est normal les accents, c'est du à l'encodage.
Et sinon voilà une version qui fonctionnera que la page soit en iso ou en utf8
<?php
$forum_rss = 'https://www.3000fr.com/index.php?type=rss;action=.xml;sa=news;limit=10';
$nb_sujet = 10;
function charset_decode_utf_8 ($string)
{
if (! preg_match("/[\200-\237]/", $string) and ! preg_match("/[\241-\377]/", $string))
return $string;
// decode three byte unicode characters
$string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e",
"'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",
$string);
// decode two byte unicode characters
$string = preg_replace("/([\300-\337])([\200-\277])/e",
"'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",
$string);
return $string;
}
function fixEncoding($in_str)
{
$cur_encoding = mb_detect_encoding($in_str) ;
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
return charset_decode_utf_8($in_str);
else
return $in_str;
}
$html = '';
$xml = @simplexml_load_file(''.$forum_rss.'');
$i=1;
if ($xml)
{
foreach ($xml->channel->item as $sujet)
{
$html .= "<li><a href='".$sujet->link."'>".fixEncoding($sujet->title)."</a></li>";
if($i >= $nb_sujet) break;
$i++;
}
}
else
{
$html .= "<li>Forum en maintenance</li>";
}
echo "<ul>";
echo $html;
echo "</ul>";
?>
Pour ce qui est de l'intégrer au forum, je ne sais pas si smf permet de créer des pages intégrées au forum.