webytime Posté 12 Décembre 2012 Posté 12 Décembre 2012 Bonjour, Je sèche depuis plusieurs jours sur un soucis tout bête... J'ai une fonction qui me permet de récupérer dans ma BDD des informations en fonction de 2 variables: la donnée, la page où est le visiteur. Je souhaiterais pouvoir intégrer cette fonction à un texte via l'admin, elle sera donc stockée et devra être réafficher, exemple. Dans l'admin, je rentre "faut manger des patates... afficher(marquepatate, specialfrite); ", la fonction est donc afficher... en fonction de la marque et de la page où le visiteur se trouve(celle pour les patates frites). Il faudrait que je puisse récupérer la phrase entière et que la fonction s'éxécute; en gros que je récupére "faut manger des patates pompom,tactact etc....". Alors, vous me direz, mets ta fonction directe dans ton code mais c'est n'est pas ce que je recherche . En gros, il faudrait que je detecte les différentes fonctions de ma page en les traitant avant affichage du texte car un echo sur le nom de ma fonction, bah ca affiche la fonction, et si je passe par un eval() pour afficher les données de la fonction bah ca marchera pas car ce ne sera pas forcément une fonction.C'est un peu compliqué, je vous remercie donc par avance de votre aide. Sébastien
Solution captain_torche Posté 12 Décembre 2012 Solution Posté 12 Décembre 2012 Tu devrais faire une expression régulière pour cibler le motif, et utiliser une fonction de callback pour lancer la fonction et remplacer dans le texte. La fonction preg_replace_callback() me semble toute indiquée.
webytime Posté 12 Décembre 2012 Auteur Posté 12 Décembre 2012 Merci cap_torche pour ton aide. Visiblement, ça à l'air de fonctionner, il me reste plus qu'à le faire pour toutes mais ça devrait pas poser de problèmes.
captain_torche Posté 12 Décembre 2012 Posté 12 Décembre 2012 Tu as combien de fonctions ? Tu peux très bien intégrer les noms de fonction à l'expression régulière, puis dans la fonction de callback, vérifier qu'elles sont autorisées à s'exécuter.
webytime Posté 13 Décembre 2012 Auteur Posté 13 Décembre 2012 J'en ai pas beaucoup, dans mes essais je tourne avec une seule mais il devrait y en avoir dix max.(actuellement je vois pas la nécessité de plus)J'ai réussi à faire ce que je voulais mais je trouve pas ça très très beau... En conclusion, à terme, ça me permettra de gérer n'importe quel site entièrement via l'admin sans revenir perpetuellement dans le code. Exemple: je veux afficher une liste de titre par ordre d'entrée dans la BDD a n'importe quel endroit du site, je choisis l'endroit puis je pose le résumé de ma fonction, Afficher_Liste(valeur,page,ordre, limit etc...) et ca tournera direct sur le site. Ca peut paraître bizarre comme démarche mais refaire éternellement les mêmes lignes de code ça gonfle Merci encore pour l'aide apportée, vous êtes toujours aussi efficaces sur ce forum, à chaque fois j'ai eu une réponse sous 24H
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant