From ae645ff0cf8d36feb4feb59c8a3e2aff44ad0c87 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sun, 10 Jun 2007 09:25:31 +0000 Subject: [PATCH] =?UTF-8?q?am=C3=A9liorer=20la=20conformit=C3=A9=20xhtml?= =?UTF-8?q?=20des=20diff=20(essayer=20au=20moins=20de=20fermer=20tout=20ce?= =?UTF-8?q?=20qui=20est=20ouvert=20meme=20si=20les=20balises=20sont=20alle?= =?UTF-8?q?grement=20melang=C3=A9es)=20pour=20eviter=20que=20les=20couleur?= =?UTF-8?q?s=20debordent=20sur=20le=20reste=20de=20la=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc/revisions.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ecrire/inc/revisions.php b/ecrire/inc/revisions.php index 5ac2f3a45a..23323f5c34 100644 --- a/ecrire/inc/revisions.php +++ b/ecrire/inc/revisions.php @@ -490,8 +490,9 @@ function propre_diff($texte) { // [ ...<span diff> -> lien ] // < tag <span diff> > - $texte = preg_replace(',<([^>]*@@@SPIP_DIFF[0-9]+@@@),', + $texte = preg_replace(',<([^>]*?@@@SPIP_DIFF[0-9]+@@@),', '<\1', $texte); + var_dump($texte); # attention ici astuce seulement deux @@ finals car on doit eviter # deux patterns a suivre, afin de pouvoir prendre [ mais eviter [[ $texte = preg_replace(',(^|[^[])[[]([^[\]]*@@@SPIP_DIFF[0-9]+@@),', @@ -528,6 +529,9 @@ function propre_diff($texte) { $texte = str_replace('@@@SPIP_DIFF'.$c.'@@@', $bal, $texte); $GLOBALS['les_notes'] = str_replace('@@@SPIP_DIFF'.$c.'@@@', $$bal, $GLOBALS['les_notes']); } + // quand le dernier tag est ouvrant le refermer ... + $reg = end($regs); + if (!$reg[1]) $texte.="</$reg[2]>"; return $texte; } -- GitLab