Changeset 36647 in spip-zone for _plugins_/office2spip


Ignore:
Timestamp:
Mar 26, 2010, 8:03:21 AM (10 years ago)
Author:
arno@…
Message:

Supprimer les cesures discretes dans les documents rapatriés. Truc qui déconnaient dans la conversion de caractères Unicode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/office2spip/inc/fonctionsale.php

    r36621 r36647  
    44                La Fonction Sale()
    55                (c)2005 James <klike@free.fr>
    6                 d'après le bouton memo et le script spip_unparse
     6                d'aprËs le bouton memo et le script spip_unparse
    77        */
    88       
     
    3434                        $trans = get_html_translation_table(HTML_ENTITIES, $quote_style);
    3535                        $trans = array_flip($trans);
    36                         $trans["&euro;"]='€';
    37                         $trans["&oelig;"]='œ';
    38                         $trans["&OElig;"]='Œ';
     36                        $trans["&euro;"]='';
     37                        $trans["&oelig;"]='œ';
     38                        $trans["&OElig;"]='Œ';
    3939                        foreach ($trans as $key => $value){
    4040                           $trans['&#'.ord($value).';'] = $value;
    4141                        }
    42                         // ajout du caractere apostrophe SPIP : ’
    43                         $trans['&#8217;'] = "’";
    44                         $trans['&#039;'] = "'";
    45                         $trans['&#171;'] = "«";
    46                         $trans['&#187;'] = "»";
    47                         $trans['&#176;'] = "°";
     42                        // ajout du caractere apostrophe SPIP : í
     43//                      $trans['&#8217;'] = "'";
     44//                      $trans['&#039;'] = "'";
     45//                      $trans['&#171;'] = "«";
     46//                      $trans['&#187;'] = "»";
     47//                      $trans['&#176;'] = "°";
    4848                        // des caracteres non supportes
    49                         $trans["&nbsp;&euro;"]=' €';
     49                        $trans["&nbsp;&euro;"]=' ';
    5050                if ($GLOBALS['meta']['charset'] == 'utf-8'){
    5151                                foreach ($trans as $key=>$value)
     
    122122                ",<\/div.*>,Uims" => "",
    123123               
    124                 // divers et variés
     124                // divers et variÈs
    125125                ",<csobj.*>,Uims" => "",
    126126                ",<\/csobj>,Uims" => "",
     
    383383        }
    384384
     385        function _sucrer_cesures ($contenu) {
     386                $contenu = preg_replace("/(&#8203;|&#173;|­|​​)/", "", $contenu); // Cesures discretes
     387                $contenu = str_replace("’", "'", $contenu); // Corriger les apostrophes de Word
     388                $contenu = str_replace("&rsquo;", "'", $contenu); // Corriger les apostrophes de Word
     389                $contenu = str_replace("&lsquo;", "‘", $contenu); //
     390                return $contenu;
     391        }
     392
    385393        function _spip_apres_sale($contenu) {
    386394                if(function_exists('apres_sale'))
     
    394402                $contenu = preg_replace(",\n_ },", "}\n", $contenu);
    395403                $contenu = preg_replace(",(\n_[[:blank:]]?)?\n-,", "\n-", $contenu);
    396                 $contenu = str_replace("&rsquo;", "'", $contenu); // Corriger les apostrophes de Word
    397404                $contenu = preg_replace(",[[:blank:]]+,", " ", $contenu); // Regrouper les espaces multiples
    398405                $contenu = preg_replace(",{{{[[:blank:]]?}}},", "", $contenu); // Sucrer les h3 vides
     
    407414                $contenu = preg_replace(",\n(?=\n\n),","",$contenu);
    408415               
     416                // Virer les caracteres speciaux (notamment cesures discretes)
     417                $contenu = _sucrer_cesures($contenu);
    409418
    410419                // virer les entites a la fin seulement
     
    419428               
    420429               
    421                 //Pré  Traitement
     430                //PrÈ  Traitement
    422431                $contenu_propre = _spip_avant_sale($contenu_propre);
    423432               
     
    428437
    429438                $contenu_propre = _extraire_images($contenu_propre);
     439               
    430440               
    431441                foreach($correspondances as $motif => $remplacement) {
     
    443453                //              $contenu_propre = preg_replace(",\[(.*)->\s*$url_look"."[^\]]*id_((art)icle|(rub)rique)=([0-9]*?)[^\]]*],Uims","[\\1->\\4\\5]",$contenu_propre);
    444454
    445                 // a priori on garde ce qui est pas analysé
     455                // a priori on garde ce qui est pas analysÈ
    446456                foreach(_correspondances_a_bas_le_html() as $motif => $remplacement)
    447457                        $contenu_propre = preg_replace($motif, $remplacement, $contenu_propre);
Note: See TracChangeset for help on using the changeset viewer.