Changeset 100654 in spip-zone


Ignore:
Timestamp:
Nov 24, 2016, 6:18:26 PM (3 years ago)
Author:
booz@…
Message:

galeres d'espaces utf-8 et affinage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/convertisseur/trunk/extract/xml_de.php

    r100638 r100654  
    2222        include_spip('inc/charsets');
    2323        include_spip('inc/filtres');
    24 
    25         // espaces utf-8
    26         //$u = str_replace("\xC2\xA0", " ", $u);
    2724
    2825        // debug xml
     
    7875                $u = str_replace('<Titel>'. $t . '</Titel>', '{{{'.$t.'}}}',$u);
    7976       
    80         // on on remplace les kast par des quote
    81         $u = str_replace( "<Kasten>", "<quote>", $u);
    82         $u = str_replace( "</Kasten>", "</quote>", $u);
    83        
     77                if(preg_match(",^01,", $m['pages'])){
     78                        // tourne de une 2016/10art00817520.xml
     79                        $u = str_replace( "<Kasten>", "", $u);
     80                        $u = str_replace( "</Kasten>", "", $u);
     81                }else{
     82                        // sous-papiers
     83                        $u = str_replace( "<Kasten>", "<quote>", $u);
     84                        $u = str_replace( "</Kasten>", "</quote>", $u);
     85                }
    8486       
    8587        if($surtitre = trim(textebrut(extraire_balise($u,'Dach'))))
     
    9092        $u = preg_replace('/<\/?kopf[^>]*>/','',$u);
    9193        $u = preg_replace('/<\/?red>/','',$u);
    92         $u = preg_replace('/<\/?zInitial>/','',$u);
     94        $u = preg_replace('/<\/?z?Initial>/','',$u);
    9395        $u = str_replace("<Kursiv/>", "", $u);
    9496        $u = str_replace("<Fett/>", "", $u);
    95        
     97        $u = str_replace("<Hoch/>", "", $u);
     98        $u = str_replace("<zAutor/>", "", $u);
    9699       
    97100        // copyright
     
    259262                $m['alertes'][] = "Signature non trouvée" ;
    260263
    261 
    262         // notes en fin de texte avec des espaces dedans...
    263         // <Hoch>3 </Hoch>     
    264         $u = preg_replace(',^<Hoch>\s*(\d+)\s*</Hoch>\s*,Uum',"<br />(\\1) ",$u); //pb d'espace fine ? en fin de hoch 2002_07_12/art002.xml
    265        
    266         // notes dans le texte
    267         $u = preg_replace(',(?:\s)*<Hoch>\s*(\d+)\s*</Hoch>\s*,Uu'," (\\1) ",$u); // galere sur la note 1 2015_07_09/art00746197.xml
     264        // espaces utf-8 , inutile car on à l'option /u
     265        //$u = str_replace("\xC2\xA0", " ", $u);
     266
     267        // sauf que dans un squelette spip qui passe par mes_fonctions et une boucle data on a bien /u qui matche le demi-cadrat \u2002 et l'espace fine \u2009
     268        // mais pas en spip-cli qui fait un lire fichier...
     269        // donc on les remplace là à défaut d'y comprendre quelque chose.
     270        $u = str_replace(" ", " ", $u);
     271        $u = str_replace(" ", " ", $u);
     272       
     273        // notes en début de ligne sans fussnote
     274        $u = preg_replace(',^\s*<Hoch>\s*(\d+)\s*</Hoch>\s*,Uum',"\n\n(\\1) ", $u); // 2009_04_03/art00485576.xml
     275       
     276        // notes avec espaces le cas échéant
     277        $u = preg_replace(',\s*<Hoch>\s*(\d+)\s*</Hoch>\s*,Uum'," (\\1) ", $u); // galere sur la note 1 2015_07_09/art00746197.xml
    268278        // avec virgule ou :
    269279        $u = preg_replace('~<Hoch>\s*,*\s*(\d+)\s*,*\s*</Hoch>\s*~Uum'," (\\1), ",$u);
    270         $u = preg_replace('~<Hoch>\s*:*\s*(\d+)\s*:*\s*</Hoch>\s*~Uum'," (\\1) : ",$u);
     280        $u = preg_replace('~<Hoch>\s*:*\s*(\d+)\s*:*\s*</Hoch>\s*~Uum'," (\\1): ",$u);
     281        $u = preg_replace('~<Hoch>\s*;*\s*(\d+)\s*;*\s*</Hoch>\s*~Uum'," (\\1); ",$u);
    271282        // avec .
    272283        $u = preg_replace('~<Hoch>\s*\.*\s*(\d+)\s*\.*\s*</Hoch>\s*~Uum'," (\\1). ",$u);
     
    278289        $u = str_replace(') .',").",$u);
    279290        $u = str_replace(') ,',"),",$u);
     291        $u = preg_replace(',^ *(\(\d+\))\s+,ums',"\\1 ",$u); // 2009_04_03/art00485576.xml
    280292       
    281293        // vides ou avec un . dedans
    282294        $u = preg_replace('~<Hoch>\s*</Hoch>~Uum',"",$u);
    283295        $u = preg_replace('~<Hoch>\s*\.\s*</Hoch>~Uum',". ",$u);
    284        
    285 //      $u = preg_replace('/<Fussnote>/Us',"\n",$u);
    286 //      $u = preg_replace('/<\/Fussnote>/Us',"\n",$u);
     296        $u = preg_replace('~<Hoch>\s*,\s*</Hoch>~Uum',", ",$u);
     297        $u = preg_replace('~<Hoch>\s*:\s*</Hoch>~Uum',": ",$u);
     298        //var_dump("<textarea>$u</textarea>");
    287299
    288300        // sous titre ou chapo
     
    365377                                $m[$t] = str_replace("<Kursiv>","{",$m[$t]);
    366378                                $m[$t] = str_replace("</Kursiv>","}",$m[$t]);   
    367                        
     379                               
    368380                                // gras
    369381                                $m[$t] = str_replace("<Fett>","{{",$m[$t]);
    370382                                $m[$t] = str_replace("</Fett>","}}",$m[$t]);
     383
     384                                $m[$t] = str_replace("<FettKursiv>","{{ {",$m[$t]);
     385                                $m[$t] = str_replace("</FettKursiv>","} }}",$m[$t]);
    371386                               
    372387                                //  Pas d'indice ou exposant
Note: See TracChangeset for help on using the changeset viewer.