Général

Les PCRE

Les POSIX

Pratique

Linux

Spécial php

Les billets de fred

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.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image actuelle : '.$lien[2].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$liensui;
}

$affiche=preg_replace_callback('`(.*?)(\d+)(\.jpg)`',pre_sui,$image);
echo $affiche;
?>
ADAM Benjamin 2008 | Admin