Leed
Leed copied to clipboard
Problème avec certains caractères spéciaux
Bonjour,
J'utilise la dernière version disponible sur git (mais le problème existait aussi avec la version 1.9.0) et certains titres laissent apparaitre le caractère ’
Il semble que ’
soit remplacé par ’
au lieu d'une apostrophe.
Sauriez-vous comment corriger ce problème ?
Merci
EDIT : Je précise que cela n'arrive que dans les titres. L'article en lui même n'a pas ce soucis.
Bon, ben en attendant une meilleure solution, j'ai fait ce qui suit...
Dans Feed.class.php, ligne 104, remplacer :
$event->setTitle($item->get_title());
Par :
$event->setTitle(html_entity_decode(htmlspecialchars_decode($item->get_title())));
De ce que j'en ai vu, cela vient d'un flux ne respectant pas bien les normes.
Donc simplepie encode ’
par ’
Bonjour,
Aurais-tu le lien d'un flux que je regarde ça ? J'ai le problème actuellement sur Numerama mais le flux contient bien ’
, pas besoin que SimplePie remplace quoi que ce soit. Je voudrais juste être sûr qu'on parle bien du même soucis.
C'est sur numerama que j'ai le soucis. Comme dit précédemment, la modif fait le job, mais même si je n'ai pas eu de soucis, je préfère avoir un retour d'expérience d'un vrai dev ;)
Ok, merci pour ton retour rapide et il n'y pas de vrai dév', toute aide est toujours appréciée ! Merci pour le code, je vais regarder de mon côté. ;)
Je suis en train de tester ta solution de mon côté. Je ne vois pas pourquoi ça ne fonctionnerait pas. En attendant, j'ai corrigé les événements déjà présents en base en lançant ces commandes SQL :
UPDATE leed__event SET title=REPLACE(title, '’', '’') WHERE title LIKE "%’%";
UPDATE leed__event SET title=REPLACE(title, '…', '…') WHERE title LIKE "%…%";
UPDATE leed__event SET title=REPLACE(title, '—', '—') WHERE title LIKE "%—%";
UPDATE leed__event SET title=REPLACE(title, '–', '–') WHERE title LIKE "%–%";
UPDATE leed__event SET title=REPLACE(title, '’', '’') WHERE title LIKE "%’%";
UPDATE leed__event SET title=REPLACE(title, '&', '&') WHERE title LIKE "%&%";
UPDATE leed__event SET title=REPLACE(title, '″', '″') WHERE title LIKE "%″%";
La référence à la table leed__event
peut changer en fonction du préfixe que tu as choisi.
Je ferme ce ticket car j'ai poussé ton correctif sur la branche dev
(f45f6987abf2eb9b591740444aa57ea778e0b658). Il sera dans la prochaine release v1.9.3. Merci pour ton aide !