diff --git a/ecrire/inc/revisions.php b/ecrire/inc/revisions.php index 5ac2f3a45af521c1d98a230a5444dbcd41ae2d4e..23323f5c34fe152920321527082ee9eed73e92b0 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; }