Changeset 82502 in spip-zone


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

bugfix et test sur image_reference

Location:
_plugins_/markdown/branches/v0.12.0
Files:
3 edited

Legend:

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

    r82501 r82502  
    6868
    6969function markdown_echappe_liens($texte){
    70         //[blabla](http://...)
    71         if (strpos($texte,"[")!==false){
    72                 preg_match_all(",(\[[^]]*\])(\([^)]*\)),Uims",$texte,$matches,PREG_SET_ORDER);
     70        //[blabla](http://...) et ![babla](http://...)
     71        if (strpos($texte,"](")!==false){
     72                preg_match_all(",([!]?\[[^]]*\])(\([^)]*\)),Uims",$texte,$matches,PREG_SET_ORDER);
    7373                foreach($matches as $match){
    7474                        #var_dump($match);
    75                         $p = strpos($texte,$match[0])+strlen($match[1]);
    76                         $texte = substr_replace($texte,code_echappement($match[2], 'md', true),$p,strlen($match[2]));
     75                        $p = strpos($texte,$match[0]);
     76                        $pre = $match[1];
     77                        if (strncmp($pre,"!",1)==0){
     78                                $pre = code_echappement("!", 'md', true).substr($pre,1);
     79                        }
     80                        $texte = substr_replace($texte,$pre.code_echappement($match[2], 'md', true),$p,strlen($match[0]));
    7781                }
    7882        }
    7983        //    [blabla]: http://....
    80         if (strpos($texte,"[")!==false){
     84        if (strpos($texte,"]:")!==false){
    8185                preg_match_all(",^(\s*\[[^]]*\])(:[ \t]+.*)$,Uims",$texte,$matches,PREG_SET_ORDER);
    8286                foreach($matches as $match){
     
    8488                        $p = strpos($texte,$match[0])+strlen($match[1]);
    8589                        $texte = substr_replace($texte,code_echappement($match[2], 'md', true),$p,strlen($match[2]));
     90                }
     91        }
     92        // ![Markdown Logo][image]
     93        if (strpos($texte,"![")!==false){
     94                preg_match_all(",^(!\[[^]]*\])(\[[^]]*\])$,Uims",$texte,$matches,PREG_SET_ORDER);
     95                foreach($matches as $match){
     96                        #var_dump($match);
     97                        $p = strpos($texte,$match[0]);
     98                        $texte = substr_replace($texte,code_echappement("!", 'md', true),$p,1);
    8699                }
    87100        }
  • _plugins_/markdown/branches/v0.12.0/tests/data/typo/image_reference.html

    r82499 r82502  
    11<p><img alt="Markdown Logo" src="/md.png" /></p>
    2 <p><img alt="Markdown Logo" src="/md.png" /></p>
     2<p><img alt="Markdown Logo&nbsp;!" src="/md.png" /></p>
  • _plugins_/markdown/branches/v0.12.0/tests/data/typo/image_reference.md

    r82499 r82502  
    33[image]: /md.png
    44
    5 ![Markdown Logo][image]
     5![Markdown Logo!][image]
Note: See TracChangeset for help on using the changeset viewer.