Sujet : Flux Atom et encodage des titres - v0.2.1

Bonjour,

Je viens d'installer BilboBlog 0.2.1 et je remarque que certaines lettres accentuées dans les mots tronqués des titres du flux Atom sont remplacées par leur entité html. Ce qui pose des problèmes d'affichage dans certains readers qui les affichent "tel quel" sans les interpréter (à commencer par mon Liferea).

C'est rigolo parce que si les accents sont sur des mots affichés en entier, il n'y a pas de souci. Il semble vraiment que ça n'impacte que les lettres accentuées du dernier mot tronqué. Par exemple, on peut lire actuellement dans mon flux "Garamond Pro est vraiment une tr&eg ..." au lieu de "Garamond Pro est vraiment une trè..." ou encore "Le lapin est guéri. je r&eac ..." au lieu de "Le lapin est guér, je ré...". On notera également que la coupure des mots est assez disgracieuse.

Je vous remercie d'avance de l'attention que vous porterez à ce problème et je tiens aussi à vous féliciter pour le travail accompli sur BilboBlog.

burningHat

Re : Flux Atom et encodage des titres - v0.2.1

J'ai effectivement le même problème, il suffit de regarder dans la sidebar de [url=http://www.tux-planet.fr]Tux-planet[url]pour se rendre compte que les titres sont mal coupés.

A mon avis oui, il suffirait en théorie de convertir les caractères html en mode normal, avec la fonction htmlentites, puis ensuite de générer le titre en prenant les premier caractère du message.

Je vais donc regarder si on peut améliorer cet aspect.

Re : Flux Atom et encodage des titres - v0.2.1

Un début de solution, dans le fichier atom.php, remplacer

la ligne :

$title = substr(strip_tags($content), 0, 35)." ...";

par :

$title = substr(strip_tags(htmlspecialchars($content)), 0, 35)." ...";

et la ligne :

echo '<title type="html">'.htmlspecialchars($title).'</title>'."\n";

par :

echo '<title type="html">'.$title.'</title>'."\n";

Re : Flux Atom et encodage des titres - v0.2.1

Ouaip non mais en fait c'est normal, si ça coupe à 35 caractères et qu'à cette position pile on est dans le code d'un caractère accentué, ça part en vrille... logique  ! (j'aurais du regarder le code avant d'ouvrir ma bouche moi tongue).

Du coup, j'ai décidé de couper le titre à la fin du dernier mot entier dans les 35 premiers caractères pour être tranquille. J'ai modifié le fichier atom.php de la façon suivante :

    $title = substr(strip_tags($content), 0, 35);
    $spacer = strrpos($title, " ");
    $title = substr($title, 0, $spacer) . "…";

Mon flux RSS a retrouvé une allure décente du coup...

burningHat

Re : Flux Atom et encodage des titres - v0.2.1

Je viens de tester ton bout de code, il est pas mal.
Je vais l'intégrer sur les prochaines versions.
Merci.

Re : Flux Atom et encodage des titres - v0.2.1

De rien, content que cette solution te plaise Pti-seb. C'est un plaisir d'avoir pu si vite contribuer un peu à mon échelle pour cette excellente application !

burningHat