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
|
function stockeExtra($resulteExpreg) {
$codeRetour = "<extra>" . $GLOBALS['cptExtra'] . "</extra>";
$GLOBALS['listeExtrasTmpGlossaire'][$codeRetour] = $resulteExpreg[0];
$GLOBALS['cptExtra'] ++;
return $codeRetour;
}
function remplaceMotsGlossaire($resulteExpreg) {
$idMotDictionnaire = $GLOBALS['indexDictionnaire'][strtolower($resulteExpreg[1])];
$urlPopup = "voir_definition.php?uid=" . $idMotDictionnaire;
return '<a href="#" onclick="Popup(\'' . $urlPopup . '\', 320, 240); return false;" class="lienGlossaire">' . $resulteExpreg[1] . '</a>';
}
//--> VARIABLES UTILISEES POUR LA SAUVEGARDE DES EXTRAS
$GLOBALS['listeExtrasTmpGlossaire'] = array();
$GLOBALS['cptExtra'] = 1;
//--> LE DICTIONNAIRE SOUS FORME DE TABLEAU ASSOCIATIF
$GLOBALS['indexDictionnaire'] = array( "lorem" => 29, "sollicitudin" => 30,"ultrices" => 31,"commodo" => 32);
//--> LE TEXTE DE TA PAGE
$Texte = '<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus vestibulum malesuada mi. Nulla sollicitudin, felis quis lacinia venenatis, nibh leo ultrices nulla, ac hendrerit elit turpis vitae dolor. </p>';
//--> ETAPE 1 -> REMPLACER LES LIENS (On ne va pas faire un lien sur un lien) !
$texteSansExtra = preg_replace_callback('%<a ([^>]*)>(.*?)</a>%i', 'stockeExtra', $Texte);
//--> ETAPE 2 -> REMPLACER LES IMAGES (si le mot fait partie de le source)
$texteSansExtra = preg_replace_callback('%<img ([^>]*)>%i', 'stockeExtra', $texteSansExtra);
//--> ETAPE 3 -> REMPLACEMENT DES MOTS
$masqueExpreg = '/\\b(' . implode('|', array_keys($GLOBALS['indexDictionnaire'])) . ')\\b/is';
$texteGlossaire = preg_replace_callback($masqueExpreg, 'remplaceMotsGlossaire', $texteSansExtra);
//--> ETAPE 4 -> ON REINJECTE LES EXTRAS
$texteFinal = strtr($texteGlossaire, $GLOBALS['listeExtrasTmpGlossaire']);
//--> ON AFFICHE LE TEXTE
echo $texteFinal; |
Partager