X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Finc%2Ftexte_mini.php;h=cdde1f3df2a1f183ec14eb8f71193567e0fa370c;hp=d1193a098e2f4453409f50c9e3539a50b29d84f3;hb=122c920eb07e3f665789f8734965b576e6c25515;hpb=226942065cd4f604eb464addf45a065c9e5bc916 diff --git a/www/ecrire/inc/texte_mini.php b/www/ecrire/inc/texte_mini.php index d1193a09..cdde1f3d 100644 --- a/www/ecrire/inc/texte_mini.php +++ b/www/ecrire/inc/texte_mini.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2012 * + * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -94,7 +94,7 @@ function traiter_echap_html_dist($regs) { // http://doc.spip.org/@traiter_echap_code_dist function traiter_echap_code_dist($regs) { list(,,$att,$corps) = $regs; - $echap = htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code ! + $echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code ! // ne pas mettre le s'il n'y a qu'une ligne if (is_int(strpos($echap,"\n"))) { @@ -208,10 +208,13 @@ $preg='') { // http://doc.spip.org/@echappe_retour function echappe_retour($letexte, $source='', $filtre = "") { if (strpos($letexte,"base64$source")) { - # spip_log(htmlspecialchars($letexte)); ## pour les curieux - if (strpos($letexte,"<")!==false AND + # spip_log(spip_htmlspecialchars($letexte)); ## pour les curieux + $max_prof = 5; + while (strpos($letexte,"<")!==false + AND preg_match_all(',<(span|div)\sclass=[\'"]base64'.$source.'[\'"]\s(.*)>\s*,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