Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Remplacer des acronymes par le balisage adéquat
Posté par Yves Maistriaux
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);
?>
$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);
?>
