1) Remplacer des acronymes par le balisage adéquat
posté par Yves Maistriaux (ID : 100)
Une regex utilisant preg_replace_callback() et permettant de convertir les acronymes d'un texte dans le balisage adéquat pour un affichage sur le web.
<acronym title="
Personnal Home Pages">
PHP</acronym>
Il faut lister les acronymes et leur définition respective dans un array
<?php
$chaine='ceci est le texte de ma page qui contient deux acronymes comme Php et MySQL.';
//--- le tableau acronyme/définition
$acronym=array(
'php'=>'Personnal Home Pages',
'regex'=>'Regular Expression',
'mysql'=>'My Structured Query Language',
'xhtml'=>'eXtensible Hyper Text Markup Language'
);
//--- la fonction
function acronyme($match){
global $acronym;
return '<acronym title="'.$acronym[strtolower($match[1])].'">'.$match[1].'</acronym>';
}
//--- listage des acronymes
$liste=implode('|',array_flip($acronym));
//--- la regex
$chaine=preg_replace_callback('`\b('.$liste.')\b`si','acronyme',$chaine);
//--- l'affichage
echo htmlentities($chaine);
?>