1) Un affichage par page dans une galerie photos
posté par Yves Maistriaux (ID : 34)
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;
?>