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
Linux
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
Un affichage par page dans une galerie photos
Posté par Yves Maistriaux
Voiçi une fonction utilisant preg_replace_callback. Développée dans le cadre d'une demande spécifique sur un forum, elle permet de réaliser un affichage par page d'une série de photos. Elle ne pourra sans doute pas vous servir en l'état, sauf bien sûr dans le même cadre, mais elle permet de voir les possibilités phénoménales de la fonction preg_replace_callback.
<?php
function pre_sui($lien){
$premiere=1; // numéro de la première image
$derniere=40; // numéro de la dernière image
// ici, on ajoute une variable qui correspond au début du lien vers la page album (ou autre)
$page='album.php?image=';
if($lien[2]==$premiere){$lienpre='';
} else {
// on ajoute la variable $page au début du lien
$lienpre='<a href="'.$page.$lien[1].($lien[2]-1).$lien[3].'">Précédente</a>';
}
if($lien[2]==$derniere){$liensui='';
} else {
// ici aussi, on ajoute la variable $page au début du lien
$liensui='<a href="'.$page.$lien[1].($lien[2]+1).$lien[3].'">Suivante</a>';
}
return $lienpre.' Image actuelle : '.$lien[2].' '.$liensui;
}
$affiche=preg_replace_callback('`(.*?)(\d+)(\.jpg)`',pre_sui,$image);
echo $affiche;
?>
function pre_sui($lien){
$premiere=1; // numéro de la première image
$derniere=40; // numéro de la dernière image
// ici, on ajoute une variable qui correspond au début du lien vers la page album (ou autre)
$page='album.php?image=';
if($lien[2]==$premiere){$lienpre='';
} else {
// on ajoute la variable $page au début du lien
$lienpre='<a href="'.$page.$lien[1].($lien[2]-1).$lien[3].'">Précédente</a>';
}
if($lien[2]==$derniere){$liensui='';
} else {
// ici aussi, on ajoute la variable $page au début du lien
$liensui='<a href="'.$page.$lien[1].($lien[2]+1).$lien[3].'">Suivante</a>';
}
return $lienpre.' Image actuelle : '.$lien[2].' '.$liensui;
}
$affiche=preg_replace_callback('`(.*?)(\d+)(\.jpg)`',pre_sui,$image);
echo $affiche;
?>
