Accueil > Forum > > > > [PROBLEME] boucle et preg_replace
[PROBLEME] boucle et preg_replace
lundi 7 décembre 2009 à 17:08:50 |
[PROBLEME] boucle et preg_replace

azumi13
|
Bonjour à tous!
Aprés une journée de galère, je viens vous demander un coup de mains car je commence a peter un cable...
Je suis en train de créer une sorte de mini-cms, j'utilise la fonction preg_replace, pour pouvoir afficher mes menus.
La boucle se fait bien, mais le souci c'est que je n'arrive pas a utiliser de fonctions dans ma fonction.
Pour faire plus clair, voici le code de test:
Code PHP :
$str = '
<CW_MENUS>
<div style="border: 1px solid #3b3b3b; margin-top: 20px; width: 100px;">
<a href="#MENU_LIEN" title="#MENU_TITLE">#MENU_NOM</a>
</div>
</CW_MENUS>
';
$chaine = preg_replace('#<CW_MENUS>(.+)</CW_MENUS>#sU',menu('$1'),$str);
echo $chaine;
function menu($str){
$retour = "";
$sql = "SELECT * FROM cw_menus WHERE visible='1' ORDER BY ordre ASC";
$req = mysql_query($sql);
while ($data = mysql_fetch_assoc($req)){
$temp = str_replace('#MENU_NOM',$data['nom'],$str);
$temp = str_replace('#MENU_LIEN','http://www.aaaa.fr/'.$data['page_id'].'.php',$temp);
$temp = str_replace('#MENU_TITLE',$data['title'],$temp);
$retour .= $temp;
}
return $retour;
}
la fonction str_replace, n'est pas prise en compte et je ne comprend pas pourquoi.
Cordialement.
|
|
lundi 7 décembre 2009 à 18:44:58 |
Re : [PROBLEME] boucle et preg_replace

neigedhiver
|
Réponse acceptée !
Salut,
Tu n'utilises pas la bonne fonction. Jette plutôt un oeil du côté de preg_replace_callback()
Rappel : la fonction preg_replace() admet comme paramètre de remplacement une chaîne ou un tableau de chaînes, contenant éventuellement une référence \\n ou $n.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
lundi 7 décembre 2009 à 18:58:08 |
Re : [PROBLEME] boucle et preg_replace

kohntark
|
Réponse acceptée !
Salut Azumi,
la fonction str_replace, n'est pas prise en compte
Qu'est ce qui te laisse penser cela ?
La première chose à faire est de mettre en place des echo, print_r et autres var_dump afin de cibler le pb.
En faisant un "echo $str;" au tout début de ta fonction, tu t'apercevrais que $str n'a pas le résultat escompté, et pour cause, preg_replace n'accepte pas de fonction. Pour cela il y a preg_replace_callback()
Code PHP : <?php
$chaine = preg_replace_callback('#<CW_MENUS>(.+)</CW_MENUS>#sU', "menu",$str);
function menu($str){
print_r($str); // $str[1] étant la string que tu attends
// je te laisse le soin de continuer ...
}
?>
Cordialement,
Kohntark -
|
|
lundi 7 décembre 2009 à 18:59:16 |
Re : [PROBLEME] boucle et preg_replace
|
lundi 7 décembre 2009 à 19:03:26 |
Re : [PROBLEME] boucle et preg_replace

neigedhiver
|
J'suis décalqué, 2 jours de déménagement du frangin, + 2x 6h30 de trajet...
Mais réveille toi, t'as répondu 14 minutes plus tard... rhalalalala...
Bon mais on s'en fout, hein, on fait pas la course...
Mais quand même... des fois, j'ai l'impression que tu me suis et que tu réponds justement là où je réponds...
Arf.
Cela dit, ta réponse est plus complète que la mienne, moi, j'ai eu grave la flemme...
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
lundi 7 décembre 2009 à 19:16:52 |
Re : [PROBLEME] boucle et preg_replace

kohntark
|
Mais quand même... des fois, j'ai l'impression que tu me suis et que tu réponds justement là où je réponds...
Arf.
 on pourrait le croire c'est vrai, mais en fait c'est juste ma lenteur, et le fait que je ne réactualise pas toujours le thread avant d'y répondre.
 promis je te gratte à la prochaine
Cordialement,
Kohntark -
|
|
lundi 7 décembre 2009 à 20:45:48 |
Re : [PROBLEME] boucle et preg_replace

azumi13
|
mdr merci les gars ça marche impecable
|
|
lundi 7 décembre 2009 à 21:27:14 |
Re : [PROBLEME] boucle et preg_replace

kohntark
|
Je t'en pris, n'oublie pas de valider MA REPONSE (et accessoirement celle de Neige ) afin de clore le sujet et que ça puisse profiter à tout le monde.
 j'te l'avais dit Neige : "j'te gratte à la prochaine " !!!
Bonne soirée,
Kohntark -
|
|
lundi 7 décembre 2009 à 21:34:54 |
Re : [PROBLEME] boucle et preg_replace

neigedhiver
|
Mouarf, tu m'fais marrer... Je cherche pas la gloire, moi au moins... hum... hein, bon...
P.S. pour azumi : n'oublie pas de valider ma réponse, et si le coeur t'en dis, celle de Kohntark, mais bon, il a pas besoin de ça...
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
Cette discussion est classée dans : menu, replace, temp, str, preg
Répondre à ce message
Sujets en rapport avec ce message
temp d'execution et preg_replace_callback [ par MisterV ]
Je m'excuse de poster ce message, mais ayant fait une erreur alors que je postais mon message, il est arrivé dans la rubrique hebergeurs.Il me semble
aide pour débutant : include php [ par klem39 ]
salut tout le monde,ayant déja un site web, qui est franchement pouri, je voudrai le mettre a jours.en effet dans mon site j'utilise des frames pour s
Gros problème BDD [ par kodiask ]
voila mon code il consiste a remplacer les lettres par une image...while($data = mysql_fetch_array($req)) { $data['nom'] =str_replace('a','',$da
preg_replace recursif !! [ par massiliaman ]
Salut je voudrais inserer un espace entre groupe de lettre et groupe de chiffre avec preg_replace mais cela de facon recurssive. Je m'explique j'ai en
lister un repertoire pour créé un str replace avec tout les fichier [ par ztec ]
j'ai un repertoire ou je veut metre des smiley. j'en ai telement, que kj'ai pas envi des les rentrer un par un. les smiley les plus utiliser on ete de
Help : (str_replace) et (split ou explode) ne marchent pas ! ? [ par slmnsnts ]
Salut tt le monde !G ajouté une page de recherche dans mon forum et ca marche tres bien ... le seul prob C lorsque qu'on cherche des mots avec plusieu
preg_replace pour chaine de code php [ par JoJo738 ]
Simplification de nombreux str_replace [ par ImmortalPC ]
Salut, je sais qu'il esiste une astuce pour éviter les nombreux str_replace avec array(). Quelqu'un la connaît il ou quelque chose pour simplifier le
Récupérer des images puis Upload [ par radyonne ]
Bonjour ! voila j'aimerais savoir comment faire pour uploader des images à partir d'un lien et du contenu d'un .txt , qui sont dans un dossier sur un
exp reg [ par coucou747 ]
Salut je fais un forum OO en php4 et j'ai besoin d'un peu d'aide pour la fonction qui transforme une variable avant de l'enregistrer : celle qui gère
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|