Petite astuce pour ceux qui utilisent WordPress et son super plugin WP-Syntax pour afficher du code de manière un peu plus joli !
Comme mentionné dans la FAQ du plugin, les caractères comme « < » ou « > » sont remplacés par leurs équivalents HTML ce qui est plus que moyen dans un code. La solution proposée est de désactiver le plugin TinyMCE lors de la rédaction d’articles ce qui vous l’avouerez est moyen !
Vu que cela fait plusieurs fois que je cherche cette information, je m’en fais un pense-bête.
La solution est somme toute vraiment simple, et heureusement qu’un utilisateur l’a proposé sur le forum de WordPress … cependant il semble qu’il y ait un problème associé (sécurité ? sans doute) car l’auteur propose une solution plus élégante … à tester ! Je ne vous garantit donc pas la sécurité de ce patch
Ainsi, pour une réparation rapide il faut ouvrir le fichier « wp-syntax/wp-syntax.php » ou cliquer sur le lien « Modifier » dans le gestionnaire de plugins à la ligne de WP-Syntax. Ensuite, dans la méthode « wp_syntax_highlight » vous devrez commenter une ligne et la remplacer par une autre, comme indiqué ci-dessous :
//if ($escaped == "true") $code = htmlspecialchars_decode($code); $code = htmlspecialchars_decode($code);
Cela aura pour conséquence de décoder quoi qu’il arrive les caractères HTML.
Pour ceux (comme moi) qui ont une version de PHP antérieure à PHP 5.1, ajoutez en haut de ce même fichier (peut importe où !) le code suivant :
if (!function_exists("htmlspecialchars_decode")) { function htmlspecialchars_decode($string, $quote_style = ENT_COMPAT) { return strtr($string, array_flip(get_html_translation_table(HTML_SPECIALCHARS, $quote_style))); } }
Et voilà, votre code devrait apparaître joliment !
Si vous avez une solution plus élégante ou que j’ai raté une configuration quelque part, merci d’avance de m’en faire part !