Changeset 69527 in spip-zone


Ignore:
Timestamp:
Jan 30, 2013, 11:27:36 AM (7 years ago)
Author:
cedric@…
Message:

Pour la correction typo des caps et les correction auto : il faut echapper toutes les balises html dangeureuses (ie balises non triviales) qui risque d'etre modifiees a tort (modif d'une url par exemple). En revanche, pas la peine d'echapper les raccourcis liens qui le sont deja en amont.

Location:
_plugins_/orthotypo/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/orthotypo/trunk/orthotypo_fonctions.php

    r69504 r69527  
    110110        // deprotection des balises
    111111        return echappe_retour($texte, 'FILTRETEXTECHAPPE');
     112}
     113
     114function orthotypo_echappe_balises_html($texte){
     115        // prudence : on protege le contenu de toute balise html
     116        if (strpos($texte, '<')!==false){
     117                // tout
     118                #$texte = preg_replace_callback(',<[^>]*>,UmsS', 'orthotypo_echappe_balise_html', $texte);
     119                // dangereux uniquement
     120                $texte = preg_replace_callback(',<\w+\b[^>]+>,UmsS', 'orthotypo_echappe_balise_html', $texte);
     121        }
     122        return $texte;
     123}
     124
     125function orthotypo_echappe_balise_html($m) {
     126        if (strpos($m[0],'class="base64')!==false) return $m[0];
     127        var_dump($m[0]);
     128        return code_echappement($m[0], 'FILTRETEXTECHAPPE',true,'span');
    112129}
    113130
     
    417434                    (?:\s|\b|$))/xS";
    418435        }
     436        $texte = orthotypo_echappe_balises_html($texte);
    419437        return preg_replace_callback($cap_finder, 'orthotypo_caps_replace_callback', $texte);
    420438}
     
    466484                list($str,$preg) = orthotypo_corrections_regles();
    467485        }
    468         // prudence : on protege les urls dans les raccourcis de liens SPIP
    469         if (strpos($texte, '[')!==false)
    470                 $texte = preg_replace_callback(',(\[[^][]*->>?)([^]]*)(?=\]),msS', 'orthotypo_corrections_echappe_liens', $texte);
    471 
     486
     487        $texte = orthotypo_echappe_balises_html($texte);
    472488        if (count($str))
    473489                $texte = str_replace($str[0], $str[1], $texte);
     
    475491                $texte = preg_replace($preg[0], $preg[1], $texte);
    476492
    477         return echappe_retour($texte, 'CORRECTIONS');
    478 }
    479 
    480 function orthotypo_corrections_echappe_liens($m) {
    481         return $m[1].code_echappement($m[2], 'CORRECTIONS');
     493        return $texte;
    482494}
    483495
  • _plugins_/orthotypo/trunk/paquet.xml

    r69504 r69527  
    22        prefix="orthotypo"
    33        categorie="edition"
    4         version="1.2.1"
     4        version="1.2.2"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.