[SPIP] ~maj 3.0.13 -> 3.0.14
[ptitvelo/web/www.git] / www / ecrire / inc / texte_mini.php
index d1193a0..cdde1f3 100644 (file)
@@ -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 <div...> 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*</\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