Nous avons un bbcode et j'essaye de configurer la possibilité pour un certain code d'appeler une fonction qui charge des images de notre galerie de photos . Donc, si quelqu'un met un numéro d'album, il tire 5 des photos les plus récentes. Lorsque nous appelons cette fonction régulièrement (sur une autre page, comme une déclaration php régulière), cela fonctionne comme prévu. Mais lorsque nous appelons cette fonction via le système preg_replace, elle charge la fonction en haut de la page.L'appel d'une fonction php à partir d'un preg_replace provoque le chargement de la fonction en haut de la page
Voir ici: http://www.greendayauthority.com/news/1961/ Les images de citrouille en haut du site devraient être dans les nouvelles, ci-dessous "Merci à Marcus M. pour l'envoi des nouvelles." - qui est l'endroit où j'ai placé le BBcode [picvault] 1 [/ picvault]
Voilà comment nous changeons les valeurs pour le BBcode
$newsPost = preg_replace(array_keys($bbcode), array_values($bbcode), $newsPost);
est ici la partie de la bbcode $ qui appelle notre fonction
"/\[picvault\](.*?)\[\/picvault\]/e" => "relatedImages($1)",
Et voici la fonction relatedImage
function relatedImages($albumID) {
$queryImage = mysql_query("SELECT * FROM cpg140_pictures WHERE aid = $albumID ORDER BY pid DESC LIMIT 5");
echo "<div class='relatedImages'>";
while($images = mysql_fetch_array($queryImage)) {
$relImgPath = $images['filepath'];
$relImgName = $images['filename'];
$relThumbImgUrl = "http://www.greendayauthority.com/Picture_Vault/albums/$relImgPath/thumb_$relImgName";
$relFullImgUrl = "http://www.greendayauthority.com/Picture_Vault/albums/$relImgPath/$relImgName";
echo "<div class='relImage'>
<a href='$relFullImgUrl' rel='lightbox-$albumID'><img src='$relThumbImgUrl'></a>
</div>";
}
echo " <div class='relImage'>
<a href='http://www.greendayauthority.com/Picture_Vault/thumbnails.php?album=$albumID' target='_top'><img src='http://www.greendayauthority.com/images/viewmorephotos.png'></a>
</div>";
echo "</div>";
}