Changeset 27262 in spip-zone


Ignore:
Timestamp:
Mar 12, 2009, 10:28:26 PM (10 years ago)
Author:
maieulrouquette@…
Message:

correction sur les texte selctionnés par unbound bible (marche mieux) + pour pouvoir supprimer les numeros de verset dans le code

Location:
_plugins_/_stable_/spip-bible
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/spip-bible/plugin.xml

    r27074 r27262  
    77    </auteur>
    88    <version>
    9     1.5.3
     9    1.5.4
    1010    </version>
    1111    <etat>
  • _plugins_/_stable_/spip-bible/traduction/gateway.php

    r27074 r27262  
    120120    $texte = str_replace("  <br />",'',$texte);
    121121   
     122    $texte = traiter_sup($texte,$nom_trad,$lang);
    122123    while(ereg("<br /><br />",$texte)){
    123124        $texte = str_replace("<br /><br />","<br />",$texte);
     
    174175    return $code;
    175176}
     177function traiter_sup($code,$abreviation,$lang){
     178   
     179    $code = eregi_replace(" class=\"versenum\"","",$code);
     180    $code = eregi_replace(' id="'.$lang.'-'.$abreviation.'-[0-9]*"',"",$code);
     181    $code = str_replace("</sup>"," </sup>",$code);
     182   
     183    return $code;
     184}
    176185?>
  • _plugins_/_stable_/spip-bible/traduction/lire.php

    r27074 r27262  
    5353        }
    5454       
     55        $texte = str_replace("</sup>"," </sup>",$texte); //important pour l'option de suppression de numero
    5556        return $texte;
    5657}
     
    7778                $i++;
    7879        }
     80       
    7981        return $code;
    8082       
  • _plugins_/_stable_/spip-bible/traduction/unbound.php

    r27064 r27262  
    2525       
    2626        }
    27 
     27    include_spip("inc/distant");
     28        include_spip("inc/charsets");
    2829       
    29        
    30         $url = "http://www.unboundbible.org/index.cfm?method=searchResults.doSearch&parallel_1=".$unbound."&book=".$id_livre."&from_chap=".$chapitre_debut."&from_verse=".$verset_debut."&to_chap=".$chapitre_fin."&to_verse=".$verset_fin;
    31        
    32         include_spip("inc/distant");
    33         include_spip("inc/charsets");
    34         $code = importer_charset(recuperer_page($url,'utf-8'));
    35         $code =explode("Made available in electronic",$code);
    36         $code= $code[0];
    37         $tableau = explode('<br />'
    38 ,$code);
    39        
    40        
    41         $i = 1;
    42        
    43         $nb_chapitre =   $chapitre_fin - $chapitre_debut +1 ;
    44        
    45         $code = '';
    46         while ($i<= $nb_chapitre){
    47        
    48                
    49                 if ($i!=$nb_chapitre){
    50                        
    51                         $temp= $tableau[$i];
    52                         $tableau2 = explode("<td align='left' colspan='1'>",$temp);
    53                         $code.= $tableau2[0];
    54                        
    55                 }
    56                 else{
    57                         $temp = $tableau[$i];
    58                        
    59                         $tableau2=explode("<tr><td align='center' colspan='2' class='altThinlineWhite'>
    60 ",$temp);
    61                        
    62                         $code.= $temp;
    63                 }
    64                
    65                 $i=$i+1;
    66         }
    67        
    68         $tableau = explode("<tr><td align='center' colspan='2' class='altThinlineWhite'>",$code);
    69         $code=$tableau[0];
    70         $code = strip_tags($code,'<bdo>');
    71         $code = str_replace("<bdo dir='rtl'>",'<br /><sup>',$code);
    72         $code = str_replace("<bdo dir='ltr'>",'<br /><sup>',$code);
    73         $code = str_replace('</bdo>.&nbsp;','</sup>',$code);
    74                
    75        
    76        
    77         //ajout des numerso de chapitre
    78         $j = 1;
    79         if (($chapitre_fin != $chapitre_debut) and ($verset_fin!=9999)){
    80            $j = 0;
    81         }
    82        
    83 
    84         $tableau = explode ("<sup>1</sup>",trim($code));
    85        
    86        
    87         $i = $chapitre_debut;
     30        $texte = '';
    8831       
    8932       
    9033       
    9134       
    92         $code='';
    93         while ($i<=$chapitre_fin){
    94                 $code .= '<br /><strong>'.$i.'</strong>';
    95                 if (($verset_debut==1) or ($i!=$chapitre_debut)){
    96                         $code.='<sup>1</sup>';
    97                 }
    98                
    99                 $code .= $tableau[$j];
    100                
    101                 $i++;
    102                 $j++;
    103                
    104                 }
     35       
     36        // on procède cahpitre par cahpitre, c'est plus long mais moins casse-c** au niveau de la sélèction du texte
     37       
     38        $i = $chapitre_debut;
     39       
     40        while ($i <=$chapitre_fin){
     41               
     42               $i != $chapitre_fin ? $vf = 99999 : $vf = $verset_fin; //test préalable pour savoir où on se trouve dans le texte
     43               $i != $chapitre_debut ? $vd = 1 : $vd = $verset_debut;
     44               
     45               $url = "http://www.unboundbible.org/index.cfm?method=searchResults.doSearch&parallel_1=".$unbound."&book=".$id_livre."&from_chap=".$i."&from_verse=".$vd."&to_chap=".$i."&to_verse=".$vf;
     46               $code = importer_charset(recuperer_page($url,'utf-8'));
     47               $code = selectionner_passage($code);
     48               
     49               $texte = $texte."<strong>".$i."</strong>".$code;
     50               $i == $chapitre_fin ? $texte = $texte : $texte = $texte."<br />";
     51               
     52               $i++;
    10553   
    106         $code = str_replace('</strong><br /><sup>','</strong><sup>',$code);
    107         return str_replace('<br /><br />','<br />',$code);
    108         }
     54   
     55    }
     56        //fignolage cosmètique
     57        $texte = str_replace('</strong><br />','</strong>',$texte);
     58       
     59        return $texte;
     60}
     61
     62function selectionner_passage($code){
     63   
     64    /* desormais on se fit au balise bdo pour selectionner le texte : il s'arret au 1er </tr> après le deuxième </bdo>*/
     65    $tableau = explode("</bdo>",$code);
     66    $post_bdo = array_pop($tableau);
     67    $code = implode("</bdo>",$tableau);
     68   
     69   
     70   
     71    // traitement de ce qu'il y après le </bdo>
     72   
     73    $tableau = explode("</tr>",$post_bdo);
     74    $code = $code."</bdo>".$tableau[0];
     75   
     76    //on ne prend qu'après le 2nd <bdo dir='ltr'> (pas celui du chapitre)
     77   
     78    $tableau = explode("<bdo dir='ltr'>",$code);
     79    $bidon = array_shift($tableau); //on n'a pas besoins de cela, mais je sais pas manipuler bien les tableau, faudrait que je me plonge dans de la doc
     80    $bidon = array_shift($tableau);
     81   
     82   
     83    $code = "<bdo dir='ltr'>".implode("<bdo dir='ltr'>",$tableau);
     84   
     85    $code = strip_tags($code,"<bdo>");
     86    $code = str_replace("</bdo>.&nbsp;"," </sup>",$code);
     87    $code = str_replace("<bdo dir='ltr'>","<br /><sup>",$code);
     88   
     89 
     90    return $code;
     91}
    10992
    11093
Note: See TracChangeset for help on using the changeset viewer.