Bonjour à tous,
j'ai un problème avec l'affichage de code sur des articles de mon blog, il ne sont tout simplement pas colorisé...

J'utilise l'éditeur MarkItUp dans mon administration, il me va très bien.
Je créer mes articles en HTML avec cet éditeur donc,
mais j'ai un souci pour insérer du code qui sera affiché (et non interpréter).

mon script pour colorisé le code marche bien, c'est juste moi qui doit foiré un truc lors de l'enregistrement ou l'affichage de l'article

si j'utilise htmlspecialchars sur tout l'article, le code n'est pas coloré et mon HTML de l'article n'est pas interpréter donc problème.
si je n'utilise pas htmlspecialchars sur tout l'article, le code est interpréter et mon html aussi problème également.

J'avais donc créer une balise bbcode et une fonction pour seulement faire un htmlspecialchars sur le code que je veut affiché :

A l'enregistrement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$articleParser = $_POST['contenu_article'];
$articleParser = preg_replace_callback('#\[coode=(.*?)\](.*?)\[/coode\]#s', 'echapcode', $articleParser);
 
// et la j'enregistre $articleParser dans la BDD
(J'ai fait exprès de mettre coode sinon l'affichage sur le forum foirais, comprenez code)

la fonction echapcode qui est appeler précédemment par preg_replace_callback() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
function echapcode($code) {
	return '<pre class="codetext"><code class="'.$code[1].'">'.htmlspecialchars($code[2]).'</code></pre>';
}
Pour afficher l'article, rien de plus banal qu'un
echo $donneesArticle['contenu'];

qui contient mon article avec des balise html uniquement.

Quelqu'un aurait une idée ?

Voici un exemple de mon problème :




J'utilise Highlight pour la coloration syntaxique, et vous voyez bien que le code n'est pas coloré,
dans des test précédent (dit plus haut avec htmlspecialchars) le code était parfois colorer donc aucun problème du coté de ce script.