Ignore:
Timestamp:
Feb 27, 2007, 5:43:25 PM (13 years ago)
Author:
real3t@…
Message:

Intégration d'une partie de la barre typo extensible.

Attention spipcarto : ton éditeur détruit les caractères spéciaux, or, il y en a un dans une des regexp : §

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/barre_typo_enrichie/1_9_1/typo_enrichie.php

    r9708 r9946  
    22
    33/*
    4   * Ce plugin rajoute des raccourcis typographique et améliore les possibilités de la barre typographique pour les rédacteurs
     4  * Ce plugin rajoute des raccourcis typographique et ameliore les possibilites de la barre typographique pour les redacteurs
    55*/
    66
    77        /*
    88         *    Fonctions de ces filtres :
    9          *     Ils rajoutent quelques racourcis typo à SPIP
     9         *     Ils rajoutent quelques racourcis typo a SPIP
    1010         *
    1111         *     Syntaxe des raccourcis :
    12          *           [/texte/] : aligner le texte à droite
     12         *           [/texte/] : aligner le texte a droite
    1313         *           [|texte|] : centrer le texte
    14          *           [(texte)] : encadrer le texte (occupe toute la largeur de la page, à mettre autour d'un paragraphe)
    15          *           [*texte*] : encadrer/surligner le texte (une partie à l'intérieur d'un paragraphe)
    16          *           [**texte*] : variante encadrer/surligner le texte (une partie à l'intérieur d'un paragraphe)
    17          *           <sup>texte</sup> : mettre en exposant le texte sélectionné
     14         *           [(texte)] : encadrer le texte (occupe toute la largeur de la page, a mettre autour d'un paragraphe)
     15         *           [*texte*] : encadrer/surligner le texte (une partie a l'interieur d'un paragraphe)
     16         *           [**texte*] : variante encadrer/surligner le texte (une partie a l'interieur d'un paragraphe)
     17         *           <sup>texte</sup> : mettre en exposant le texte selectionne
    1818         *
    19          *     Styles pour les encadrements à rajouter dans votre feuille de style :
     19         *     Styles pour les encadrements a rajouter dans votre feuille de style :
    2020         *            .texteencadre-spip {
    2121         *              background: #FFE;
     
    3434
    3535function BarreTypoEnrichie_pre_propre($texte) {
    36         // remplace les fausses listes à puce par de vraies
    37         // (recherche en début de lignes - suivi d'un ou plusieurs caractères blancs, en mode multiligne)
     36        // remplace les fausses listes a puce par de vraies
     37        // (recherche en debut de lignes - suivi d'un ou plusieurs caracteres blancs, en mode multiligne)
    3838        // Mettre $GLOBALS['barre_typo_preserve_puces'] = true; dans mes_options.php pour ne pas avoir ce comportement
    3939        if ($GLOBALS['barre_typo_pas_de_fausses_puces'] === true)
     
    4343        // pour etre pris en charge par paragrapher
    4444
    45         // Definition des différents intertitres possibles, si pas deja definies
     45        // Definition des differents intertitres possibles, si pas deja definies
    4646        tester_variable('debut_intertitre', '<h3 class="spip">');
    4747        tester_variable('fin_intertitre', '</h3>');
     
    6161        global $debut_intertitre_5, $fin_intertitre_5;
    6262
    63         $chercher_raccourcis = array(
    64                 /* 1 */         "/(^|[^{])[{][{][{]/S",
    65                 /* 2 */         "/[}][}][}]($|[^}])/S",
    66                 /* 3 */         "/(^|[^{])\{1\{/S",
    67                 /* 4 */         "/\}1\}($|[^}])/S",
    68                 /* 5 */         "/(^|[^{])\{2\{/S",
    69                 /* 6 */         "/\}2\}($|[^}])/S",
    70                 /* 7 */         "/(^|[^{])\{3\{/S",
    71                 /* 8 */         "/\}3\}($|[^}])/S",
    72                 /* 9 */         "/(^|[^{])\{4\{/S",
    73                 /* 10 */        "/\}4\}($|[^}])/S",
    74                 /* 9b */        "/(^|[^{])\{5\{/S",
    75                 /* 10b */       "/\}5\}($|[^}])/S",
    76                 /* 11 */        "/\{(§|§)\{/S", # § Pour gérer l'unicode aussi !
    77                 /* 12 */        "/\}(§|§)\}/S",
    78                 /* 13 */        "/<-->/S",
    79                 /* 14 */        "/-->/S",
    80                 /* 15 */        "/<--/S",
    81                 /* 16 */        "/<==>/S",
    82                 /* 17 */        "/==>/S",
    83                 /* 18 */        "/<==/S",
    84                 /* 19 */        "/\([cC]\)/S",
    85                 /* 20 */        "/\([rR]\)/S",
    86                 /* 21 */        "/\([tT][mM]\)/S",
    87                 /* 22 */        "/\.\.\./S",
    88                 /* 23 */        "/\[([^|?][^][]*)\|((?:[^][](?!->))*)\]/S"
    89         );
    90 
    91         $remplacer_raccourcis = array(
    92                 /* 1 */         "\$1\n\n$debut_intertitre",
    93                 /* 2 */         "$fin_intertitre\n\n\$1",
    94                 /* 3 */         "\$1\n\n$debut_intertitre",
    95                 /* 4 */         "$fin_intertitre\n\n\$1",
    96                 /* 5 */         "\$1\n\n$debut_intertitre_2",
    97                 /* 6 */         "$fin_intertitre_2\n\n\$1",
    98                 /* 7 */         "\$1\n\n$debut_intertitre_3",
    99                 /* 8 */         "$fin_intertitre_3\n\n\$1",
    100                 /* 9 */         "\$1\n\n$debut_intertitre_4",
    101                 /* 10 */        "$fin_intertitre_4\n\n\$1",
    102                 /* 9b */        "\$1\n\n$debut_intertitre_5",
    103                 /* 10b */       "$fin_intertitre_5\n\n\$1",
    104                 /* 11 */        "<span style=\"font-variant: small-caps\">",
    105                 /* 12 */        "</span>",
    106                 /* 13 */        "&harr;",
    107                 /* 14 */        "&rarr;",
    108                 /* 15 */        "&larr;",
    109                 /* 16 */        "&hArr;",
    110                 /* 17 */        "&rArr;",
    111                 /* 18 */        "&lArr;",
    112                 /* 19 */        "&copy;",
    113                 /* 20 */        "&reg;",
    114                 /* 21 */        "&trade;",
    115                 /* 22 */        "&hellip;",
    116                 /* 23 */        "@@acro@@$2@@$1@@acro@@"
    117         );
     63///////////////////////////
     64//MODIFICATION
     65//////////////////////////
     66        $chercher_raccourcis=array();
     67        $remplacer_raccourcis=array();
     68        global $BarreTypoEnrichie;
     69        if (is_array($BarreTypoEnrichie))
     70                foreach($BarreTypoEnrichie as $item) {
     71                        $chercher_raccourcis[]=$item['chercher'];                                       
     72                        $remplacer_raccourcis[]=$item['remplacer'];                                     
     73                }
     74
     75                /* 1 */         $chercher_raccourcis[]="/(^|[^{])[{][{][{]/S";
     76                /* 2 */         $chercher_raccourcis[]="/[}][}][}]($|[^}])/S";
     77                /* 3 */         $chercher_raccourcis[]="/(^|[^{])\{1\{/S";
     78                /* 4 */         $chercher_raccourcis[]="/\}1\}($|[^}])/S";
     79                /* 5 */         $chercher_raccourcis[]="/(^|[^{])\{2\{/S";
     80                /* 6 */         $chercher_raccourcis[]="/\}2\}($|[^}])/S";
     81                /* 7 */         $chercher_raccourcis[]="/(^|[^{])\{3\{/S";
     82                /* 8 */         $chercher_raccourcis[]="/\}3\}($|[^}])/S";
     83                /* 9 */         $chercher_raccourcis[]="/(^|[^{])\{4\{/S";
     84                /* 10 */        $chercher_raccourcis[]="/\}4\}($|[^}])/S";
     85                /* 9b */        $chercher_raccourcis[]="/(^|[^{])\{5\{/S";
     86                /* 10b */       $chercher_raccourcis[]="/\}5\}($|[^}])/S";
     87                /* 11 */        $chercher_raccourcis[]="/\{(§|§)\{/S"; # § Pour gerer l'unicode aussi !
     88                /* 12 */        $chercher_raccourcis[]="/\}(§|§)\}/S";
     89                /* 13 */        $chercher_raccourcis[]="/<-->/S";
     90                /* 14 */        $chercher_raccourcis[]="/-->/S";
     91                /* 15 */        $chercher_raccourcis[]="/<--/S";
     92                /* 16 */        $chercher_raccourcis[]="/<==>/S";
     93                /* 17 */        $chercher_raccourcis[]="/==>/S";
     94                /* 18 */        $chercher_raccourcis[]="/<==/S";
     95                /* 19 */        $chercher_raccourcis[]="/\([cC]\)/S";
     96                /* 20 */        $chercher_raccourcis[]="/\([rR]\)/S";
     97                /* 21 */        $chercher_raccourcis[]="/\([tT][mM]\)/S";
     98                /* 22 */        $chercher_raccourcis[]="/\.\.\./S";
     99                /* 23 */        $chercher_raccourcis[]="/\[([^|?][^][]*)\|((?:[^][](?!->))*)\]/S";
     100
     101                /* 1 */         $remplacer_raccourcis[]="\$1\n\n$debut_intertitre";
     102                /* 2 */         $remplacer_raccourcis[]="$fin_intertitre\n\n\$1";
     103                /* 3 */         $remplacer_raccourcis[]="\$1\n\n$debut_intertitre";
     104                /* 4 */         $remplacer_raccourcis[]="$fin_intertitre\n\n\$1";
     105                /* 5 */         $remplacer_raccourcis[]="\$1\n\n$debut_intertitre_2";
     106                /* 6 */         $remplacer_raccourcis[]="$fin_intertitre_2\n\n\$1";
     107                /* 7 */         $remplacer_raccourcis[]="\$1\n\n$debut_intertitre_3";
     108                /* 8 */         $remplacer_raccourcis[]="$fin_intertitre_3\n\n\$1";
     109                /* 9 */         $remplacer_raccourcis[]="\$1\n\n$debut_intertitre_4";
     110                /* 10 */        $remplacer_raccourcis[]="$fin_intertitre_4\n\n\$1";
     111                /* 9b */        $remplacer_raccourcis[]="\$1\n\n$debut_intertitre_5";
     112                /* 10b */       $remplacer_raccourcis[]="$fin_intertitre_5\n\n\$1";
     113                /* 11 */        $remplacer_raccourcis[]="<span style=\"font-variant: small-caps\">";
     114                /* 12 */        $remplacer_raccourcis[]="</span>";
     115                /* 13 */        $remplacer_raccourcis[]="&harr;";
     116                /* 14 */        $remplacer_raccourcis[]="&rarr;";
     117                /* 15 */        $remplacer_raccourcis[]="&larr;";
     118                /* 16 */        $remplacer_raccourcis[]="&hArr;";
     119                /* 17 */        $remplacer_raccourcis[]="&rArr;";
     120                /* 18 */        $remplacer_raccourcis[]="&lArr;";
     121                /* 19 */        $remplacer_raccourcis[]="&copy;";
     122                /* 20 */        $remplacer_raccourcis[]="&reg;";
     123                /* 21 */        $remplacer_raccourcis[]="&trade;";
     124                /* 22 */        $remplacer_raccourcis[]="&hellip;";
     125                /* 23 */        $remplacer_raccourcis[]="@@acro@@$2@@$1@@acro@@";
    118126
    119127        $texte = preg_replace($chercher_raccourcis, $remplacer_raccourcis, $texte);
    120128
    121         // remplace les fausses listes à puce par de vraies
    122         // (recherche en début de lignes - suivi d'un ou plusieurs caractères blancs, en mode multiligne)
     129        // remplace les fausses listes a puce par de vraies
     130        // (recherche en debut de lignes - suivi d'un ou plusieurs caracteres blancs, en mode multiligne)
    123131        // $texte =  preg_replace('/^-\s+/m','-* ',$texte); # deja fait dans post_propre
    124132
     
    128136function BarreTypoEnrichie_post_propre($texte) {
    129137
    130         # Le remplacement des intertitres de premier niveau a déjà été effectué dans inc/texte.php
    131 
    132         # Intertitre de deuxième niveau
     138        # Le remplacement des intertitres de premier niveau a deja ete effectue dans inc/texte.php
     139
     140        # Intertitre de deuxieme niveau
    133141        /*global $debut_intertitre_2, $fin_intertitre_2;
    134142        $texte = ereg_replace('(<p class="spip">)?[[:space:]]*@@SPIP_debut_intertitre_2@@', $debut_intertitre_2, $texte);
    135143        $texte = ereg_replace('@@SPIP_fin_intertitre_2@@[[:space:]]*(</p>)?', $fin_intertitre_2, $texte);*/
    136144
    137         # Intertitre de troisième niveau
     145        # Intertitre de troisieme niveau
    138146        /*global $debut_intertitre_3, $fin_intertitre_3;
    139147        $texte = ereg_replace('(<p class="spip">)?[[:space:]]*@@SPIP_debut_intertitre_3@@', $debut_intertitre_3, $texte);
    140148        $texte = ereg_replace('@@SPIP_fin_intertitre_3@@[[:space:]]*(</p>)?', $fin_intertitre_3, $texte);*/
    141149
    142         # Intertitre de quatrième niveau
     150        # Intertitre de quatrieme niveau
    143151        /*global $debut_intertitre_4, $fin_intertitre_4;
    144152        $texte = ereg_replace('(<p class="spip">)?[[:space:]]*@@SPIP_debut_intertitre_4@@', $debut_intertitre_4, $texte);
    145153        $texte = ereg_replace('@@SPIP_fin_intertitre_4@@[[:space:]]*(</p>)?', $fin_intertitre_4, $texte);*/
    146154
    147         # Intertitre de cinquième niveau
     155        # Intertitre de cinquieme niveau
    148156        /*global $debut_intertitre_5, $fin_intertitre_5;
    149157        $texte = ereg_replace('(<p class="spip">)?[[:space:]]*@@SPIP_debut_intertitre_5@@', $debut_intertitre_5, $texte);
     
    240248        $texte = preg_replace('/@@acro@@([^@]*)@@([^@]*)@@acro@@/S',"<acronym title='$1' class='spip_acronym spip'>$2</acronym>",$texte);
    241249        // Correction des & en &amp;
    242         $texte = preg_replace('/&([A-Za-z#0-9]*);/','@@@amp:\1:amp@@@',$texte); // échapement des entités html déjà présentes
     250        $texte = preg_replace('/&([A-Za-z#0-9]*);/','@@@amp:\1:amp@@@',$texte); // echapement des entites html deja presentes
    243251        $texte = str_replace('&','&amp;',$texte);
    244252        $texte = preg_replace('/@@@amp:([A-Za-z#0-9]*):amp@@@/','&\1;',$texte);
Note: See TracChangeset for help on using the changeset viewer.