Changeset 82520 in spip-zone


Ignore:
Timestamp:
May 17, 2014, 10:24:41 AM (5 years ago)
Author:
cedric@…
Message:

PHPDoc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/markdown/branches/v0.12.0/markdown_options.php

    r82519 r82520  
    1616
    1717// echapper les blocs <md>...</md> avant les autres blocs html
     18// permet de prendre la main en tout debut de traitement, lors de l'echappement des <md></md>
    1819define('_PROTEGE_BLOCS', ',<(md|html|code|cadre|frame|script)(\s[^>]*)?>(.*)</\1>,UimsS');
     20
     21// echappement normal pour SPIP, que l'on refait ici
    1922define('_PROTEGE_BLOCS_SPIP', ',<(html|code|cadre|frame|script)(\s[^>]*)?>(.*)</\1>,UimsS');
    2023
    21 // fonction appelee par echappe_html sur les balises <md></md>
     24/**
     25 * fonction appelee par echappe_html sur les balises <md></md>
     26 *
     27 * @param array $regs
     28 * @return string
     29 */
    2230function traiter_echap_md_dist($regs){
    2331        // echapons le code dans le markdown
     
    2836}
    2937
     38/**
     39 * Echapper les blocs de code dans le MarkDown
     40 * @param $texte
     41 * @return string
     42 */
    3043function markdown_echappe_code($texte){
    3144        $texte = echappe_retour($texte);
     
    6073}
    6174
     75/**
     76 * Echapper les ~~ qui sont transformes en <del> par MarkDown
     77 * mais en &nbsp; par la typo SPIP qui passe avant si on laisse tel quel
     78 * @param string $texte
     79 * @return string
     80 */
    6281function markdown_echappe_del($texte){
    6382        if (strpos($texte,"~~")!==false){
     
    6887}
    6988
     89/**
     90 * Echapper les raccourcis de type lien dans MarkDown
     91 * pour proterger les morceaux qui risquent d'etre modifies par la typo SPIP
     92 * (URL, :,...)
     93 * @param string $texte
     94 * @return string
     95 */
    7096function markdown_echappe_liens($texte){
    7197        //[blabla](http://...) et ![babla](http://...)
     
    106132}
    107133
     134
     135
    108136/**
    109137 * Appliquer un filtre aux portions <md>...</md> du texte
     
    124152}
    125153
    126 
     154/**
     155 * Avant le traitemept typo et liens :
     156 * - des-echapper tous les blocs de _PROTEGE_BLOCS qui ont ete echappes au tout debut
     157 * - re-echapper les blocs de _PROTEGE_BLOCS_SPIP dans tout le contenu SPIP (hors <md></md>)
     158 *
     159 * @param string $texte
     160 * @return string
     161 */
    127162function markdown_pre_liens($texte){
    128163        // si pas de base64 dans le texte, rien a faire
     
    151186}
    152187
    153 /**
    154  * Pre typo : echapper les ~~ pour ne pas les transformer en &nbsp;
     188
     189/**
     190 * Pre typo : Rien a faire on dirait
    155191 * @param string $texte
    156192 * @return string
     
    160196}
    161197
    162 /**
    163  * Post typo : retablir le code md echappe en pre-typo
    164  * @param $texte
    165  * @return mixed
     198
     199/**
     200 * Post typo : retablir les blocs de code dans le MarkDown
     201 * qui ont ete echappes en pre-liens
     202 * La on retrouve tout le contenu MarkDown initial, qui a beneficie des corrections typo
     203 * @param string $texte
     204 * @return string
    166205 */
    167206function markdown_post_typo($texte){
     
    186225        return $texte;
    187226}
     227
     228
     229/**
     230 * Appliquer Markdown sur un morceau de texte
     231 * @param $texte
     232 * @return string
     233 */
    188234function markdown_raccourcis($texte){
    189235
     
    196242        }
    197243
    198         // marker les ul/ol explicites qu'on ne veut pas modifier
     244        // marquer les ul/ol explicites qu'on ne veut pas modifier
    199245        if (stripos($md,"<ul")!==false OR stripos($md,"<ol")!==false OR stripos($md,"<li")!==false)
    200246                $md = preg_replace(",<(ul|ol|li)(\s),Uims","<$1 html$2",$md);
     
    208254        $md = str_replace(array("<ul html","<ol html","<li html"),array('<ul','<ol','<li'),$md);
    209255
    210         // Si on avait des <p class="base64' les repasser en div
     256        // Si on avait des <p class="base64"></p> les repasser en div
    211257        // et reparagrapher car MD n'est pas tres fort et fait de la soupe <p><div></div></p>
    212258        if (strpos($md,'<p class="base64')!==false){
    213259                $md = preg_replace(",(<p (class=\"base64[^>]*>)</p>),Uims","<div \\2</div>",$md);
    214260                $md = paragrapher($md);
     261                // pas d'autobr introduit par paragrapher
    215262                if (_AUTO_BR AND strpos($md,_AUTOBR)!==false){
    216263                        $md = str_replace(_AUTOBR,'',$md);
    217264                }
    218                 // et les doubles \n<p
     265                // eviter les >\n\n<p : un seul \n
    219266                if (strpos($md,">\n\n<p")!==false){
    220267                        $md = str_replace(">\n\n<p",">\n<p",$md);
     
    222269        }
    223270
    224         // echapper le markdown
     271        // echapper le markdown pour que SPIP n'y touche plus
    225272        return code_echappement($md);
    226273}
Note: See TracChangeset for help on using the changeset viewer.