Changeset 43260 in spip-zone


Ignore:
Timestamp:
Dec 31, 2010, 9:59:05 AM (10 years ago)
Author:
paladin@…
Message:

remplacement ereg_replace par preg_replace + legere optimisation

Location:
_plugins_/spip-listes/spip-listes_1_9_3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api_courrier.php

    r35241 r43260  
    194194function spiplistes_courrier_version_texte($in) {
    195195
     196        $eol = PHP_EOL;
     197       
    196198        // Nettoyage des liens des notes de bas de page
    197         $out = ereg_replace("<a href=\"#n(b|h)[0-9]+-[0-9]+\" name=\"n(b|h)[0-9]+-[0-9]+\" class=\"spip_note\">([0-9]+)</a>", "\\3", $in);
     199        $out = preg_replace("@<a href=\"#n(b|h)[0-9]+-[0-9]+\" name=\"n(b|h)[0-9]+-[0-9]+\" class=\"spip_note\">([0-9]+)</a>@"
     200                                                , "\\3", $in);
    198201       
    199202        // Supprimer tous les liens internes
     
    203206       
    204207        // Supprime feuille style
    205         $out = ereg_replace("<style[^>]*>[^<]*</style>", "", $out);
     208        $out = preg_replace("/<style[^>]*>[^<]*<\/style>/", '', $out);
    206209       
    207210        // les puces
    208         $out = str_replace($GLOBALS['puce'], "\n".'-', $out);
     211        $out = str_replace($GLOBALS['puce'], $eol.'-', $out);
    209212       
    210213        // Remplace tous les liens     
     
    216219        $_points = str_repeat('.', 20);
    217220       
    218         $out = ereg_replace("<h1[^>]*>", "_SAUT__SAUT_".$_traits."_SAUT_", $out);
    219         $out = str_replace("</h1>", "_SAUT__SAUT_".$_traits."_SAUT__SAUT_", $out);
    220         $out = ereg_replace("<h2[^>]*>", "_SAUT__SAUT_".$_points." ", $out);
    221         $out = str_replace("</h2>", " ".$_points."_SAUT__SAUT_", $out);
    222         $out = ereg_replace("<h3[^>]*>", "_SAUT__SAUT_*", $out);
    223         $out = str_replace("</h3>", "*_SAUT__SAUT_", $out);
     221        $out = preg_replace('/<h1[^>]*>/', '_SAUT__SAUT_'.$_traits.'_SAUT_', $out);
     222        $out = str_replace('</h1>', '_SAUT__SAUT_'.$_traits.'_SAUT__SAUT_', $out);
     223        $out = preg_replace('/<h2[^>]*>/', '_SAUT__SAUT_'.$_points.' ', $out);
     224        $out = str_replace('</h2>', ' '.$_points.'_SAUT__SAUT_', $out);
     225        $out = preg_replace('/<h3[^>]*>/', '_SAUT__SAUT_*', $out);
     226        $out = str_replace('</h3>', '*_SAUT__SAUT_', $out);
    224227       
    225228        // Les notes de bas de page
    226         $out = str_replace("<p class=\"spip_note\">", "\n", $out);
    227         $out = ereg_replace("<sup>([0-9]+)</sup>", "[\\1]", $out);
    228        
    229         $out = str_replace("<p[^>]*>", "\n\n", $out);
     229        $out = str_replace('<p class="spip_note">', $eol, $out);
     230        $out = preg_replace('/<sup>([0-9]+)<\/sup>/', '[\\1]', $out);
     231       
     232        // etrange parfum de regex dans un str_replace ?
     233        //$out = str_replace('<p[^>]*>', $eol.$eol, $out);
    230234       
    231235        //$out = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $out);
    232         $out = ereg_replace ('<li[^>]>', "\n".'-', $out);
     236        $out = preg_replace('/<li[^>]>/', $eol.'-', $out);
    233237        //$out = str_replace('<li>', "\n".'-', $out);
    234238       
     
    236240        // accentuation du gras -
    237241        // <b>texte</b> -> *texte*
    238         $out = ereg_replace ('<b[^>|r]*>','*' ,$out);
     242        $out = preg_replace('/<b[^>|r]*>/','*' ,$out);
    239243        $out = str_replace ('</b>','*' ,$out);
    240244       
    241245        // accentuation du gras -
    242246        // <strong>texte</strong> -> *texte*
    243         $out = ereg_replace ('<strong[^>]*>','*' ,$out);
     247        $out = preg_replace('/<strong[^>]*>/','*' ,$out);
    244248        $out = str_replace ('</strong>','*' ,$out);
    245249       
     
    247251        // accentuation de l'italique
    248252        // <i>texte</i> -> *texte*
    249         $out = ereg_replace ('<i[^>|mg]*>','*' ,$out);
    250         $out = str_replace ('</i>','*' ,$out);
     253        $out = preg_replace('/<i[^>|mg]*>/','*' ,$out);
     254        $out = str_replace ('</i>', '*', $out);
    251255       
    252256        $out = str_replace('&oelig;', 'oe', $out);
    253         $out = str_replace("&nbsp;", " ", $out);
     257        $out = str_replace('&nbsp;', ' ', $out);
    254258        $out = filtrer_entites($out);
    255259       
     
    257261        $out = supprimer_tags($out);
    258262       
    259         $out = str_replace("\x0B", "", $out);
    260         $out = ereg_replace("\t", "", $out) ;
    261         $out = ereg_replace("[ ]{3,}", "", $out);
     263        $out = str_replace('\x0B', '', $out);
     264        $out = preg_replace("/\t/", '', $out) ;
     265        $out = preg_replace('/[ ]{3,}/', '', $out);
    262266       
    263267        // espace en debut de ligne
    264         $out = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $out);
     268        $out = preg_replace("/(\r\n|\n|\r)[ ]+/m", $eol, $out);
    265269       
    266270//marche po
    267271        // Bring down number of empty lines to 4 max
    268         $out = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $out);
     272        $out = preg_replace("/(\r\n|\n|\r){3,}/m", $eol.$eol, $out);
    269273       
    270274        //retablir les saut de ligne
    271         $out = preg_replace("/(_SAUT_){3,}/m", "_SAUT__SAUT__SAUT_", $out);
    272         $out = preg_replace("/_SAUT_/", "\n", $out);
     275        $out = preg_replace('/(_SAUT_){3,}/m', '_SAUT__SAUT__SAUT_', $out);
     276        $out = preg_replace('/_SAUT_/', $eol, $out);
    273277        //saut de lignes en debut de texte
    274         $out = preg_replace("/^(\r\n|\n|\r)+/", "\n\n", $out);
    275         //saut de lignes en debut ou fin de texte
    276         $out = preg_replace("/(\r\n|\n|\r)+$/", "\n\n", $out);
     278        $out = preg_replace("/^(\r\n|\n|\r)+/", $eol.$eol, $out);
     279        //saut de lignes en fin de texte
     280        $out = preg_replace("/(\r\n|\n|\r)+$/", $eol.$eol, $out);
    277281       
    278282        // Faire des lignes de 75 caracteres maximum
  • _plugins_/spip-listes/spip-listes_1_9_3/plugin.xml

    r42884 r43260  
    88        <nom><multi>[fr]SPIP-Listes[en]SPIP-Lists[ar]&#1604;&#1608;&#1575;&#1574;&#1581; SPIP[es]SPIP-Listes</multi></nom>
    99        <auteur>BoOz@rezo.net</auteur>
    10         <version>2.0154</version>
     10        <version>2.0155</version>
    1111        <version_base>1.98</version_base>
    1212        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.