Bonjour tout le monde
Je dispose d'un portail en php avec plusieurs blocs, le tout en ISO-8859-1.
J'ai voulu ajouter un bloc dont le contenu était un flux RSS. Ne sachant pas comment m'y prendre, j'ai regardé sur le net et j'ai trouvé mon bonheur avec le code suivant
<?php
setlocale(LC_ALL, 'fr_FR');
$site = "http://static.finalfantasyxiv.com/topics/topics_fr.rss";
$fp = @fopen($site,"r");
while(!feof($fp)) $raw .= @fgets($fp, 4096);
{
fclose($fp);
}
if( mb_eregi("<item>(.*)</item>", $raw, $rawitems ) )
{
$items = explode("<item>", $rawitems[0]);
for( $i = 0; $i < 5; $i++)
{
mb_eregi("<title>(.*)</title>",$items[$i+1], $title);
mb_eregi("<link>(.*)</link>",$items[$i+1], $url);
mb_eregi("<dc:date>(.*)</dc:date>",$items[$i+1], $pubDate);
mb_eregi("<content:encoded>(.*)</content:encoded>",$items[$i+1], $content);
$contenu = html_entity_decode("<a href='".$url[1]."' style='font-size : 14px;font-weight: bold;text-decoration:none;'>".$title[1]."</a><br /><span style='font-size : 12px'>" . strftime("%A %d %B à %H:%M", strtotime($pubDate[1])) . "</span><br /><br /><span style='font-size : 14px'> " . $content[1] . "</span><br /><br /><hr /><br />");
$template->assign_block_vars('rss_square', array(
'CONTENU' => $contenu)
);
}
}
?>
Le problème, c'est que j'avais des phrases de ce genre :
Ce programme de test vous permettra d'évaluer la capacité de votre ordinateur à faire tourner le jeu avec différents réglages de qualité graphique
J'ai donc remplacé le contenu de la variable $contenu par ceci :
$tim = utf8_decode("à");
$contenu = html_entity_decode("<a href='".$url[1]."' target='_blank' style='font-size : 14px;font-weight: bold;text-decoration:none;'>" . utf8_decode($title[1]) . "</a><br /><span style='font-size : 12px'>" . strftime("%A %d %B $tim %H:%M", strtotime($pubDate[1])) . "</span><br /><br /><span style='font-size : 14px'> " . utf8_decode($content[1]) . "</span><br /><br /><hr /><br />");
Ce qui a réglé tout les problèmes d'accent... ou presque : le mot oeil apparaissait initialement comme ci
œil
Il apparait maintenant comme cela (après ma modif) :
?il
Je pense que c'est a cause du caractère spécial utilité
Œil mais je ne sais pas comment le gérer pour qu'il s'affiche correctement (j'imagine qu'il doit y avoir d'autre caractère spéciaux du même genre que je n'ai pas actuellement dans mon flux rss). Vous sauriez comment lui faire entendre raison ?
De la même façon, j'ai la phrase
Pour plus d'informations
qui a été remplacé par
Pour plus d?iinformations
Sachant que j'ai plein d'apostrophe a d'autres endroits qui s'affichent parfaitement bien... J'ai donc regardé comment il m'affichait ça avant ma modif et ça donnait ça :
Pour plus d’informations
Est ce qu'il serait possible de le faire redevenir un ' (lui et tous les prochains apostrophe qu'ils écriront de cette façon).
--------------------------------------------------------------------
Dans ce flux RSS, la balise content contient toujours une image, puis un texte, puis un lien. Est ce qu'il est possible d'influer sur l'image pour la centrer et sur le lien pour l'ouvrir dans un nouvel onglet ou une nouvelle page ?
Merci à toutes les personnes qui participeront à ce sujet.