Changeset 61217 in spip-zone


Ignore:
Timestamp:
May 12, 2012, 8:25:21 AM (10 years ago)
Author:
fil@…
Message:

probleme avec r61188 quand on doit echapper des tags imbriques

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/textwheel/inc/texte.php

    r61188 r61217  
    189189                        $a = stripos($letexte, $tag);
    190190                        $b = stripos($letexte, "</$tag>", $a);
    191                         if (!$b) next;
    192 
    193                         $regs[0] = substr($letexte, $a-1, $b - $a + strlen("</$tag>") + 1);
    194 
    195                         $regs[3] = substr($letexte, $a-1 + strlen($init),
    196                                 $b - $a - strlen($init) + 1);
    197 
    198                         // echappements tels quels ?
    199                         if ($no_transform) {
    200                                 $echap = $regs[0];
     191
     192                        if ($a and $b) {
     193                                $regs[0] = substr($letexte, $a-1, $b - $a + strlen("</$tag>") + 1);
     194
     195                                $regs[3] = substr($letexte, $a-1 + strlen($init),
     196                                        $b - $a - strlen($init) + 1);
     197
     198                                // echappements tels quels ?
     199                                if ($no_transform) {
     200                                        $echap = $regs[0];
     201                                }
     202
     203                                // sinon les traiter selon le cas
     204                                else if (function_exists($f = 'traiter_echap_'.strtolower($regs[1])))
     205                                        $echap = $f($regs);
     206                                else if (function_exists($f = $f.'_dist'))
     207                                        $echap = $f($regs);
     208
     209                                $letexte = str_replace($regs[0],
     210                                        code_echappement($echap, $source, $no_transform),
     211                                        $letexte);
    201212                        }
    202 
    203                         // sinon les traiter selon le cas
    204                         else if (function_exists($f = 'traiter_echap_'.strtolower($regs[1])))
    205                                 $echap = $f($regs);
    206                         else if (function_exists($f = $f.'_dist'))
    207                                 $echap = $f($regs);
    208 
    209                         $letexte = str_replace($regs[0],
    210                                 code_echappement($echap, $source, $no_transform),
    211                                 $letexte);
    212213                }
    213214
Note: See TracChangeset for help on using the changeset viewer.