- Fil d'ariane : Accueil du labo
- / PHP
- / Gestion des acronymes
Script pour gérer les acronymes en PHP
Utilisation de preg_replace_callback et create_function
Usage
$texte1 = "[acronym]HTML[/acronym]"; echo makeAcronym ($texte1); // Va générer <acronym title="HyperText Markup Language">HTML</acronym>
Fonctionnalité supplémentaire
Il est possible de gérer au cas par cas une expression surtout si elle n'est pas présente dans la base de données ou si vous voulez afficher sa traduction dans une langue différente de celle dans laquelle est stockée. Voici donc à quoi ressemblerait la fonction:
// + ----------------------------------------------------------------------------------
// + makeAcronym
// + Entrée : le texte à traiter
// + Sortie : le texte traité
function makeAcronym ($texte) {
$texte = preg_replace_callback("#\[acronym\](.+?)\[\/acronym\]#si",
create_function('$matches', '
$rq = "SELECT * FROM `blog_acronym` WHERE `acronym` = \'" . $matches[1] . "\'";
$acronym = mysql_fetch_object(mysql_query($rq));
return ($acronym->acronym) ? "<acronym title=\"" . $acronym->libelle . "\">" . $matches[1] . "</acronym>" : $matches[1];
')
, $texte);
// Partie du code supplémentaire
$texte = preg_replace_callback("#\[acronym=(.+?)\](.+?)\[\/acronym\]#si",
create_function('$matches', '
return "<acronym title=\"" . $matches[1] . "\">" . $matches[2] . "</acronym>";
')
, $texte);
return $texte;
}
Usage de la fonctionnalité
$texte2 = "[acronym=Toto Titi Tata]HTML[/acronym]"; echo makeAcronym ($texte2); // Va générer <acronym title="Toto Titi Tata">HTML</acronym>
A vous de tester
Merci à Qwix pour son tutorial sur XmlHttpRequest que j'ai pu mettre en pratique facilement sur cette page.
