Tronquer un flux RSS
Les flux RSS sont pratique pour que les visiteurs s'abonnent aux articles d'un blog, mais ils peuvent ĂȘtre utilisĂ© Ă mauvais escient par des voleurs de contenu qui vont pomper les articles pour les rĂ©afficher sur un MFA (Made For Ads). Cet article va dĂ©tailler les mĂ©thodes pour tronquer le flux RSS et ainsi couper court au vol de contenu tout en laissant entrevoir un aperçu de l'article pour les visiteurs qui utilisent un agrĂ©gateur RSS (tel que Google Readers).
Tronquer le flux RSS dans WordPress
En faisant quelques recherche sur le web, j'ai vu des blogueurs qui propose des solutions bien compliquĂ© pour tronquer les flux de WordPress, alors qu'il y a plus simple. Pour ne pas se prendre la tĂȘte et laisser qu'un extrait de la taille d'une petite phrase pour chaque article, il suffit d'aller dans le panel administrateur de WordPress puis dans "rĂ©glages" -> "lecture". Sur la page WordPress "options de lecture" il suffit de cocher: "pour chaque article, fournir: l'extrait". AprĂšs cela, vĂ©rifiĂ© votre flux RSS et constatez que l'article intĂ©gral est tronquĂ©.
Fonctions PHP pour tronquer un flux RSS
Il existe des petites fonctions assez simples pour tronquer du texte avec PHP. Cela est pratique pour afficher des extraits. Toutefois, ce n'est pas adapté si le texte utilise des balises XHTML. Si un texte est tronqué en plein entre deux balises, alors la balise restera ouverte (imaginez qu'il y ai un <h1> mais pas de </h1>, tout votre texte devient un titre). Pour éviter ce problÚme il y a deux solutions: enlever les balises XHTML puis tronquer ou utiliser une fonction plus complexe.
Enlever les balises XHTML
Pour enlever les balises XHTML je vous suggÚre d'utiliser strip_tags(). Enfin, pour tronquer le texte il est possible d'utiliser une fonction développé Seebz: truncate(). Choisissez la longueur maximal de votre tronqué et le tour est joué.
Fonction complexe
Comme je l'ai dit prĂ©cĂ©demment, il peut ĂȘtre nĂ©cessaire de garder le code XHTML, par exemple pour garder les liens ou une certaine mise en forme (gras, italique ...). Il est possible d'utiliser la fonction PHP preg_match() comme dans l'exemple ci-dessous :
return preg_match("#^[A-Za-z0-9_\\-]+$#isU", $name);
Conclusion
Vous voilà maintenant paré à éviter de vous faire voler le contenu de votre flux RSS. Il existe certes des méthodes alternatives pour voler le contenu, mais ça devient un peu plus compliqué.
Enfin, les visiteurs qui utilisent un agrégateur de contenu, devront indispensablement visité votre blog/site pour consulter un article dans son intégralité.
[Images: source 1 (creative commons) ; source 2 (creative commons)]