source: spip-zone/_plugins_/spip-bible/trunk/traduction/wissen.php @ 65531

Last change on this file since 65531 was 65531, checked in by maieul@…, 7 years ago

url des passages wissen

File size: 3.4 KB
Line 
1<?php
2
3function generer_url_passage_wissen($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,$wissen,$lang){
4        $ref = construire_ref_wissen($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,$lang);
5        return "http://www.bibelwissenschaft.de/nc/online-bibeln/".$wissen."/lesen-im-bibeltext/bibelstelle/".$ref."/anzeige/single/#iv";
6}
7
8function construire_ref_wissen($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,$lang){
9       
10        $ref = str_replace(' ','',strip_tags(afficher_references($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,'',',',$lang,'false')));
11        //petit livre ?
12        $petit_livre=bible_tableau('petit_livre','de');
13       
14        if (in_array(strtolower($livre),$petit_livre)) {
15               
16                $ref = str_replace($livre,$livre.'1,',$ref);
17        } 
18        else {
19                $ref = str_replace($livre,$livre,$ref);
20        }
21        return $ref;
22}
23
24function recuperer_passage_wissen($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,$wissen,$lang){
25        include_spip('inc/bible_tableau');
26        $livre_gateways = bible_tableau('gateway');
27        $livre_lang = $livre_gateways[$lang][$livre];
28        $livre_al       = array_flip($livre_gateways['de']);
29        $livre_or = $livre;
30        $livre          = $livre_al[$livre_lang];
31       
32        $ref = construire_ref_wissen($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin,$lang);
33       
34        $param_cache = array('ref'=>$ref,'wissen'=>$wissen,'version_wissen'=>1);
35        //Vérifions qu'on a pas en cache
36        if (_NO_CACHE == 0){
37                include_spip('inc/bible_cache');
38                $cache = bible_lire_cache($param_cache);
39                if ($cache){
40                        return $cache; 
41                }
42        }
43
44
45       
46       
47
48        //recuperation du passage
49
50        $url = "http://www.bibelwissenschaft.de/nc/online-bibeln/".$wissen."/lesen-im-bibeltext/bibelstelle/".$ref."/anzeige/single/#iv";
51       
52        include_spip("inc/distant");
53        include_spip("inc/charsets");
54        $code = importer_charset(recuperer_page($url),'utf-8');
55       
56       
57       
58        //selection du passage
59        $tableau = explode('<div class="boxcontent-bible">',$code);
60        $code = $tableau[1];
61       
62        $code = preg_replace('#<h1>[0-Z]*</h1>#','',$code);
63       
64        $tableau = explode('<div id="popupcontent">',$code);
65        $code = $tableau[0];
66        //suppression des intertitres
67        $n = 1;
68        while (preg_match('#<h[1-7]>#',$code)){
69           $code = wissen_supprimer_intertitre($n,$code);
70           $n++;
71        }
72        $resultat = array();           
73        $code = strip_tags($code,'<span>');
74        $tableau_chapitre = preg_split('!<span class="chapter">([0-9]*)</span> !',$code);
75        preg_match_all('!<span class="chapter">([0-9]*)</span> !',$code,$liste_chapitre);
76        $index = 0;
77        array_shift($tableau_chapitre);
78       
79        foreach ($liste_chapitre[1] as $chapitre){
80               
81                $tableau_verset = preg_split('!<span class="verse">([0-9]*)</span>!',$tableau_chapitre[$index]);
82                array_shift($tableau_verset);
83
84                preg_match_all('!<span class="verse">([0-9]*)</span>!',$tableau_chapitre[$index],$liste_verset);
85                $index2 = 0;
86
87               
88       
89                foreach($liste_verset[1] as $verset){
90                                $resultat[$liste_chapitre[1][$index]][$verset] = trim(str_replace('&nbsp;',' ',strip_tags($tableau_verset[$index2])));
91                                $index2++;     
92                }
93                               
94                $index ++;             
95        }
96        if (_NO_CACHE == 0){
97                bible_ecrire_cache($param_cache,$resultat);
98        }
99
100        return $resultat;
101        }
102function wissen_supprimer_intertitre($n, $code){
103    if(preg_match('#<h'.$n.'>#',$code)){
104                        $tableau = explode('<h'.$n.'>',$code);
105                       
106                        $d = 0;
107                        $tableau2 = array();
108                        foreach ($tableau as $j){
109                                if (preg_match('#</h'.$n.'>#',$j)){
110                                       
111                                        $tableau3 = explode('</h'.$n.'>',$j);
112                                        $tableau2[$d]=$tableau3[1];
113                                       
114                               
115                                }
116                                $d++;
117                       
118                        }
119                       
120                        $code = implode('',$tableau2);
121        }
122    return $code;
123}
124?>
Note: See TracBrowser for help on using the repository browser.