Ignore:
Timestamp:
Apr 30, 2012, 9:30:56 AM (9 years ago)
Author:
fil@…
Message:

retour sur [53104] qui rendait le plugin incompatible SPIP 2.1 ; et ajout d'une nouvelle variante d'insecable (futur plugin si j'ai le temps)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/revision_nbsp/revision_nbsp.php

    r41278 r60810  
    2121                ) {
    2222                        $letexte = echappe_html($letexte, '', true, ',(<img[^<]*>),Ums');
     23
     24                        // NBSP classique
    2325                        $letexte = str_replace('&nbsp;',
    2426                                '<span style="border-bottom:2px solid #ccc;">&nbsp;</span>', $letexte);
     27
     28                        // NBSP sous forme small.fine :
     29                        if (strpos($letexte, '<small class="fine">'))
     30                                $letexte .= '<style type="text/css">small.fine {background-color:#ccc;}</style>';
     31
     32                        // redondant avec le nouveau systeme
    2533                        $letexte = str_replace("\n_ ",
    2634                                "<span style='color:orange;'>&para;</span>\n_ ", $letexte);
     35
    2736                        return $letexte;
    2837                } else
     
    5766                // Attraper les notes
    5867                $regexp = ', *\[\[(.*?)\]\],msS';
    59                 if (strpos($texte, '[[')
    60                 AND $s = preg_match_all($regexp, $texte, $matches, PREG_SET_ORDER)
     68                if ($s = preg_match_all($regexp, $texte, $matches, PREG_SET_ORDER)
    6169                AND $s==1
    6270                AND preg_match(",^ *<>(.*),s", $matches[0][1], $r)) {
     
    6674                        $num = 0;
    6775                        while (($a = strpos($lesnotes, '('.(++$num).')')) !== false
    68                         AND (
    69                                 ($b = strpos($letexte, '('.($num).')')) !== false
    70                                 OR ($b = strpos($letexte, '['.($num).'])')) !== false
    71                         )) {
     76                        AND ($b = strpos($letexte, '('.($num).')')) !== false
     77                        ) {
    7278                                if (!isset($debut))
    7379                                        $debut = trim(substr($lesnotes, 0, $a));
     
    96102                        }
    97103                }
    98 
    99 
    100                 //  Cas deux : on recherche des notes en derniers paragraphes,
    101                 // commencant par (1), on les reinjecte en [[<> ... ]] et on
    102                 // relance la fonction sur cette onstruction.
    103                 else {
    104                         $texte = trim($texte);
    105                         if (preg_match_all(',^[(](\d+)[)].*$,UmS', $texte, $regs)
    106                         AND preg_match(',^(.*\n)([(]1[)].*)$,UmsS', $texte, $u)) {
    107                                 $notes = $u[2];
    108                                 $texte = $u[1];
    109                                 return notes_automatiques("$texte\n\n[[<> $notes ]]");
    110                         }
    111                 }
    112 
    113104        }
    114105
Note: See TracChangeset for help on using the changeset viewer.