Aller au contenu
Télécharger Firefox 2

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.


Rechercher un billet

Sous Rubriques

Photo Pif

Photopif