diff --git a/ecrire/inc/texte_mini.php b/ecrire/inc/texte_mini.php index 6a9517a751f265aa2a02e53bcf7a5dc5c5cf7489..28c19d39b2769a7852b7a1aec0a44f48257d5897 100644 --- a/ecrire/inc/texte_mini.php +++ b/ecrire/inc/texte_mini.php @@ -226,9 +226,12 @@ $preg='') { function echappe_retour($letexte, $source='', $filtre = "") { if (strpos($letexte,"base64$source")) { # spip_log(spip_htmlspecialchars($letexte)); ## pour les curieux - if (strpos($letexte,"<")!==false AND + $max_prof = 5; + while (strpos($letexte,"<")!==false + AND preg_match_all(',<(span|div)\sclass=[\'"]base64'.$source.'[\'"]\s(.*)>\s*</\1>,UmsS', - $letexte, $regs, PREG_SET_ORDER)) { + $letexte, $regs, PREG_SET_ORDER) + AND $max_prof--) { foreach ($regs as $reg) { $rempl = base64_decode(extraire_attribut($reg[0], 'title')); // recherche d'attributs supplementaires