1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
|
<?php
function bibleverse_rich($NuméroMessageDemandé) {
/* Usage: <?php echo bibleverse_rich(''); ?>
* @param1 = $NuméroMessageDemandé peut être:
* - chaine vide: renvoyer un verset au hasard
* - un nombre entier: renvoyer le nième verset du tableau
* - une chaine de caractères alphanumériques: rechercher dans le tableau des versets le n° de ligne dont la
* référence biblique correspond à l'argument NB: si la référence n'est pas trouvée, affiche un bloc vide...
* @return chaine = verset ou citation enrichie de couleurs et liens, en HTML+CSS ...
* TESTER avec http://ch.lerolle.free.fr/rsrc/affiche-verset.php
* ou http://ch.lerolle.free.fr/rsrc/affiche-verset.php?refverset=Apocalypse 3:7-8
*/
require('fn-bibleverse_rich-bookslist.php'); // optimisation: Jean propose un require unique incluant les divers tableaux...
require('fn-bibleverse_rich-verses-list.php');
// include_once('fn-suppr_accents.php');
$NombreTotalMessages = sizeof($tMessage) - 1; // enlève la ligne zéro qui contient les titres-de-colonnes
if ($NuméroMessageDemandé === '') { $NuméroMessage = rand(1, $NombreTotalMessages);} // renvoie un verset au hasard
elseif (is_int($NuméroMessageDemandé)) { $NuméroMessage = $NuméroMessageDemandé;} // int: renvoie le nième verset du tableau
else {
foreach ($tMessage as $NuméroVerset => $verset)
{ if ($verset[1] === $NuméroMessageDemandé)
{ $NuméroMessage = $NuméroVerset;} // $verset[0] est le référence du verset
}
}
// préparation des variables à afficher
$TypMessage = $tMessage[$NuméroMessage][0]; // ex: "verset" ou "citation"
$RefMessage = $tMessage[$NuméroMessage][1]; // ex: Genèse 3:1-5
$RefPassage = $tMessage[$NuméroMessage][2]; // ex: Genèse 3:1-13
$TxtMessage = $tMessage[$NuméroMessage][3]; // ex: Le serpent était le plus rusé ...
if ($TypMessage == 'verset')
{ // j'ajoute des liens vers le contexte biblique: BibleGateway, TopBible, priere.org etc...
if (preg_match("/rouge/", $TxtMessage)) { $Jesus = 'Jésus de Nazareth'; }
elseif (preg_match("/roseindien/", $TxtMessage)) { $Jesus = 'Jésus ressuscité'; }
else { $Jesus = ''; }
$NuméroLivreMessage = '';
// recherche en table Livres de la ligne du Livre biblique
foreach ($tLivres as $NuméroLivre => $livre)
{
$position = strpos($RefMessage, $livre[2]); // $livre[2] est le nom du livre ex: Genèse
if (is_int($position)) { // j'ai trouvé la ligne du Livre...
$NuméroLivreMessage = $NuméroLivre;
if ($NuméroLivre < 40) { $aQuelTestament = 'à l’<b>Ancien Testament</b> - écritures saintes des juifs et des chrétiens';
$AvantAprèsJC = 'avant'; }
else { $aQuelTestament = 'au <b>Nouveau Testament</b> - écritures saintes des chrétiens';
$AvantAprèsJC = 'après'; }
$LibelléLivre = $livre[1];
if (preg_match("/lettre/", $LibelléLivre)) {
$ArticleLivre = 'la ';
$DuDeLaLivre = 'de la ';
$GenreLivre = 'féminin';
}
elseif (preg_match("/évangile/", $LibelléLivre)) {
$ArticleLivre = 'l’';
$DuDeLaLivre = 'de l’';
$GenreLivre = 'masculin';
}
else {
$ArticleLivre = 'le ';
$DuDeLaLivre = 'du ';
$GenreLivre = 'masculin';
}
if ($GenreLivre == 'féminin') {
$PronomLivre = 'elle';
$EfémininLivre = 'e';
} else {
$PronomLivre = 'il';
$EfémininLivre = '';
}
$CodeLivre = $livre[2];
if ($CodeLivre == 'Psaume' or $CodeLivre == 'Apocalypse') // 2 exceptions...
{$FinURLparisot = 'succint.html';} // la mauvaise orthographe du mot...
else {$FinURLparisot = 'succinct.html';} // la vraie orthographe du mot...
$RésuméLivre = $livre[4];
$AuteurLivre = $livre[5];
$DateLivre = $livre[6];
$CdLivreCaparisot = $livre[7];
// FIN CODE COMMUN bible-livres.php AVEC fn-bibleverse_rich.php
}
}
$RefVerset = $RefMessage;
// pour que l'URL marche dans tous les navigateurs (whatsapp), je remplace les espaces par un 'underscore'
$RefVersetURL = str_replace(' ','_',$RefMessage);
// création de la référence du passage pour TopBible: Modèle pour "1 Timothee 2:1-2" = https://topbible.topchretien.com/1-timothee.2.1/PVI,S21,BFC/?to=2
$RefVersetTopBible = $RefVerset;
if (substr($RefVersetTopBible,1,1) == ' ') // si le 2e caractère est "espace", remplace l'espace entre le n° d'épitre et son nom, ex: 1 Corinthiens
{ $RefVersetTopBible = substr($RefVersetTopBible,0,1).'@'.substr($RefVersetTopBible,2); }
$RefVersetTopBible = str_replace(' ','.',$RefVersetTopBible);// remplace l'espace entre livre et chapitre par un point
$RefVersetTopBible = str_replace(':','.',$RefVersetTopBible);// remplace le : entre chapitre et verset par un point
// Suppression des accents: 2 fonctions de suppression des accents ne fonctionnent pas...
// $RefVersetTopBible = supprimerAccent($RefVersetTopBible);
// $RefVersetTopBible = strtr($RefVersetTopBible, '@ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','aAAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$RefVersetTopBible = str_replace('é','e',$RefVersetTopBible);
$RefVersetTopBible = str_replace('è','e',$RefVersetTopBible);
$RefVersetTopBible = str_replace('ë','e',$RefVersetTopBible);
$RefVersetTopBible = str_replace('É','e',$RefVersetTopBible);
$RefVersetTopBible = str_replace('ï','i',$RefVersetTopBible);
$RefVersetTopBible = strtolower($RefVersetTopBible); // remplace les majuscules par des minuscules, APRÈS suppression des accents, sinon, génère des car. bizarres !
$RefVersetTopBible = str_replace('psaume','psaumes',$RefVersetTopBible);
// le passage a-t'il plus d'un verset ?
$RefVersetTopBiblePositionTiret = strrpos($RefVersetTopBible,"-");
if (!empty($RefVersetTopBiblePositionTiret))
{ // OUI, le passage fait plus d'un verset, ex "Jean 3:16-18", il faut tronquer le -18 (dernier verset du passage)
$RefVersetTopBibleDernierVerset = substr($RefVersetTopBible,$RefVersetTopBiblePositionTiret+1); // ex Jean 3:16-18 => 18
$RefVersetTopBible = substr($RefVersetTopBible,0,$RefVersetTopBiblePositionTiret);
// Modèle: https://topbible.topchretien.com/1-timothee.2.1/PVI,S21,BFC/?to=2
$UrlFinTopBible = '?to='.$RefVersetTopBibleDernierVerset.'">';
}
else { $UrlFinTopBible = '">'; }
// remplace l'arobase temporaire par le tiret séparant le numéro de l'épitre et ses destinataires ex: "1 timothee" => "1-timothee"
$RefVersetTopBible = str_replace('@','-',$RefVersetTopBible);
// echo 'Fin construction de $RefVersetTopBible='.$RefVersetTopBible.' Tiret en position='.$RefVersetTopBiblePositionTiret.' DernierVerset='.$RefVersetTopBibleDernierVerset;
$UrlDebBibleGateWay = "http://www.biblegateway.com/passage/?search=";
$UrlFinBibleGateWayMultiVersion = '&version=SG21;NEG1979;BDS;NIV">';
$UrlFinBibleGateWayNEG1979 = '&version=NEG1979">'; // la version NEG1979 a l'avantage d'afficher des titres a certains passages...
/*
$UrlDebTopBible = "https://topbible.topchretien.com/reference.php?recherche=Matthieu 26:39"; pas assez précis, remplacé par une référence exacte du passage... */
$UrlDebTopBible = "https://topbible.topchretien.com/";
$RefVersetExplicite = str_replace($CodeLivre,'bidon',$RefMessage);// str_replace('a','z','abcde') donne 'zbcde'
$RefVersetExplicite = str_replace(' ',' chapitre ',$RefVersetExplicite);
$RefVersetExplicite = str_replace('bidon',$LibelléLivre.', ',$RefVersetExplicite);
$RefVersetExplicite = str_replace(':',', verset ',$RefVersetExplicite); // ex: Genèse3 verset 1-5
$RefVersetExplicite = str_replace('-',' à ',$RefVersetExplicite); // ex: Genèse3 verset 1 à 5
// les variables sont prêtes...
// Construction du bloc HTML à renvoyer au script appelant...
// NB: <a id= : le blanc sans * entre les balises <a> et </a> suffit sur les navigateurs PC;
// sur smartphone, Dolphin + Chrome + Edge nécessitent qu'on ajoute un href en plus du blanc... Sinon, ne conduisent pas à l'ID !!!
$MessageHtml = '<a id="' .$RefVersetURL .'" href="/rsrc/bible-versets.php#' .$RefVersetURL .'"> * </a>';
// réf. biblique
$MessageHtml = $MessageHtml . '<span class="gras infobulle-t3">'.$RefMessage.'<span> 📖 '.$RefVersetExplicite.'</span></span> ';
// Cible + no verset + nombre total de versets
// remplacé cible-noire-rouge3.png par cible-rouge.png
$MessageHtml = $MessageHtml . '
<span class="infobulle-t3 c-a-gauche"><img src="/1com/img/cible-rouge.png" alt="Cible" style="width:20px;"> '.$NuméroMessage.'<span>
📖 Clic Gauche pour <a target="_blank" href="/rsrc/bible-versets.php#' .$RefVersetURL .'" title="Clic Gauche ou Clic Droit..."><b>voir ce verset (n° '.$NuméroMessage.')</b></a> dans la liste complète,<br>
ou Clic Droit "<b>Copier</b> l’adresse du lien" pour le "<b>Coller</b>" dans un texte <img src="/1com/img/partage3.png" style="width:20px;" alt="Partage"></span></span> / '.$NombreTotalMessages;
// nouvelle ligne: affichage du texte du verset, et éventuellement de l'auteur du Texte si c'est Jésus
$MessageHtml = $MessageHtml . '<br>';
// affichage du texte du verset, et éventuellement de l'auteur du Texte si c'est Jésus
$MessageHtml = $MessageHtml . $TxtMessage;
if ($Jesus != '') //on ajoute, en gras, que l'auteur de cette parole est Jésus lui-même
{ $MessageHtml = $MessageHtml.'<b> '.$Jesus.'</b><br>'; }
else { $MessageHtml = $MessageHtml.'<br>';}
// nouvelle ligne: affichage Auteur + Livre + Date du livre + Réf. verset
// affichage du Livre biblique avec son infobulle
$MessageHtml = $MessageHtml.'<span class="infobulle-t4">'.$LibelléLivre.'<span>'
.$ArticleLivre.$LibelléLivre.' pourrait s’intituler <b>‘'.$RésuméLivre .'’</b>;<br>' .$PronomLivre.' appartient '.$aQuelTestament;
$MessageHtml = $MessageHtml.',<br>car '.$PronomLivre.' a été écrit'.$EfémininLivre.' par '.$AuteurLivre.' en '.$DateLivre.' <b>'.$AvantAprèsJC.'</b> Jésus-Christ.</span></span>, ';
// date du Livre
$MessageHtml = $MessageHtml.$DateLivre.' '.$AvantAprèsJC.' J.C. '
// debut signe Plus
.'<span class="infobulle-t3 c-a-gauche"> <img src="/1com/img/signe-plus.png" alt="Plus" style="width:17px;" align="top"> <span>
<a target="_blank" href="/rsrc/bible-livres.php#' .$CodeLivre .'"><br>situer ce livre dans la <b>liste des livres bibliques</b></a></span>
</span> ' // les blancs à la fin servent à espacer les images
// début affichage ligne des parchemins...
// affichage du PETIT parchemin de Grant
// ATTENTION: pour qu'une infobulle s'affiche, il faut que l'image du parchemin à laquelle elle est accrochée NE SOIT PAS TROP PETITE (mini width= 29px... !!!)
.'<span class="infobulle-t3 c-a-gauche"> <img src="/rsrc/images/parchemin-court.png" alt="parchemin" height="30" width="20" align="top">
<span><a target="_blank" href="http://www.bibliquest.org/Apercus/GrantLeslie-Apercu_des_66_livres_de_la_Bible.htm#TM' .$NuméroLivreMessage .'"><br>présentation courte '
.$DuDeLaLivre .$LibelléLivre. ' par <b>Leslie M. Grant</b></a></span>
</span> '
// affichage du MOYEN parchemin de J.E. Parisot
/* .'<span class="infobulle-t2 c-a-gauche"> <img src="/rsrc/images/parchemin-court.png" alt="parchemin" height="30" width="40" align="top">
<span><a target="_blank" href="http://home.nordnet.fr/caparisot/dico/' .$CdLivreCaparisot .$FinURLparisot.'"><br>présentation <b>succincte</b> '
.$DuDeLaLivre .$LibelléLivre .' par <b>Jean-Étienne Parisot</b></a></span>
</span> '
*/
// affichage du GRAND parchemin de J.E. Parisot
/* .'<span class="infobulle-t2 c-a-gauche"> <img src="/rsrc/images/parchemin-court.png" alt="parchemin" height="30" width="50" align="top">
<span><a target="_blank" href="http://home.nordnet.fr/caparisot/dico/' .$CdLivreCaparisot .'detaille.html"><br>présentation <b>détaillée</b> '
.$DuDeLaLivre .$LibelléLivre .' par <b>Jean-Étienne Parisot</b></a></span>
</span> '
*/
// affichage des liens vers le contexte du verset
// 1- CONTEXTE DU VERSET:
.'lire l’<b><a target="_blank" title="voir le CONTEXTE PROCHE, ou l’ÉPISODE via BibleGateway
Traduction: Nouvelle Édition de Genève de 1979"'
.' href="'.$UrlDebBibleGateWay.$RefPassage.$UrlFinBibleGateWayNEG1979.'épisode</a></b>, '
// 2- CHAPITRE COMPLET: Modèle = https://topbible.topchretien.com/genese.3.1/S21/
.'le <b><a target="_blank" title="voir le CHAPITRE COMPLET, via TopBible
Traduction: Segond21 de 2007.
☺ sur petit écran, on voit plus de colonnes en mode PAYSAGE (horizontal)
☺ on peut ÉCOUTER le texte en français.
☺ en cliquant sur le TEXTE d’un verset, on ouvre un menu à droite proposant:
- Les différentes traductions
- Les commentaires bibliques
- Hébreu / Grec (définitions du Dr James Strong)
- Dictionnaire
- Versets relatifs
- Vidéos et messages relatifs"'
.' href="'.$UrlDebTopBible.$RefVersetTopBible
/* Modèles d'URL TopBible:
* https://topbible.topchretien.com/reference.php?recherche=Luc%2012:22-25
* https://topbible.topchretien.com/luc.12.22/S21,ART/ SEGOND21 avec VIDEOS&MESSAGES RELATIFS à droite
* https://topbible.topchretien.com/luc.12.22/S21,COM/ SEGOND21 avec COMMENTAIRE BIBLIQUE à droite
* https://topbible.topchretien.com/luc.12.22/S21,STR/ SEGOND21 avec DEFINITIONS STRONG à droite...
* https://topbible.topchretien.com/luc.12.22/S21/?to=25 SEGOND21 du verset 22 au verset 25
* https://topbible.topchretien.com/luc.12.22/S21,ART,COM,STR/?to=25 avec VIDEOS&MESSAGES RELATIFS + COMMENTAIRE BIBLIQUE + DEFINITIONS STRONG à droite, du verset 22 au verset 25 */
// .'/S21,ART,COM,STR/' TROP LOURD !!!
// prévenir que sur petit écran, on peut SUPPRIMER UNE COLONNE pour voir apparaître les autres colonnes cachées à droite ...
.'/S21,COM,ART/'
.$UrlFinTopBible.'chapitre</a></b>, ou '.
// 3- COMPARER LES TRADUCTIONS:
'<b><a target="_blank" title="COMPARER plusieurs traductions, via TopBible
Traductions Segond21, Français Courant et Semeur (modifiables).
☺ sur petit écran, on voit plus de colonnes en mode PAYSAGE (horizontal)
☺ on peut ÉCOUTER le texte en français.
☺ en cliquant sur le TEXTE d’un verset, on ouvre un menu à droite proposant:
- Les différentes traductions
- Les commentaires bibliques
- Hébreu / Grec (définitions du Dr James Strong)
- Dictionnaire
- Versets relatifs
- Vidéos et messages relatifs"'
.' href="'. /*
$UrlDebBibleGateWay.$RefVerset.$UrlFinBibleGateWayMultiVersion version initiale délaissée, BibleGateway en anglais et présentation vieillote...
https://www.biblegateway.com/passage/?search=1%20Pierre%205%3A6-7&version=SG21;NEG1979;BDS;NIV;KJV
https://topbible.topchretien.com/psaumes.34.7/S21,BFC,PVI/
$UrlFinTopBible = '">';
*/
$UrlDebTopBible.$RefVersetTopBible.'/S21,BFC,SEM/'.$UrlFinTopBible
.'comparer</a></b>';
// FIN du cas "verset", très long !
} else {
$MessageHtml = $MessageHtml .$RefMessage;
}
$MessageHtml = $MessageHtml .'<br>
';
// echo $MessageHtml; FONCTIONNE: 2 affichages !
// $MessageHtmlSource = $MessageHtml;
// $MessageHtml = $MessageHtml .'Source: <pre>'.$MessageHtmlSource'.</pre>';
return $MessageHtml;
}
/*
http://topchretien.jesus.net/topbible/view/bible/&livre=00001&chapitre=00003&verset=00024&version=00016#24
http://topchretien.jesus.net/topbible/?q=psaume 119:15-20&l=all&btn=Rechercher&v=00001&order=1
OK recherche "moqueurs" dans la version SG21: http://topchretien.jesus.net/topbible/?q=moqueurs&l=all&btn=Rechercher&v=00016&order=1
// ’’Derniers temps" dans toutes les versions: http://www.topchretien.com/topbible/?q=%22derniers+temps%22&l=all&btn=Rechercher&v=all&order=1
*/
|