zimounet Posté 6 Avril 2006 Posté 6 Avril 2006 (modifié) Salut à tous, J'me suis toujours pris la tete pour ce genre de truc, et j'ai toujours laissé tombé, mais la j'en ai vraiment besoin. Alors le plus simple est de présenter mon code: foreach ($items as $item) {$html .= "<li><a href=\"".$item[''.$lien.'']."\" target=\"_blank\">"; $html .= $item[''.$titre.'']."</a></li>\n"; } Vous l'aurez compris, j'aimerais que les variable $liens et $titre soient "écrite" par le parser php avant que ce dernier prennent en compte les var array tableau $item. Vous allez me demander le pourquoi du besoin de faire ça... Il s'agit d'un parser RSS, pour lequel j'utilise la classe magpieRSS. Le nom des item et l'adresse du flux RSS doivent etre définit par des variables d'url récupéré plus haut. (les variables $lien et $titre en font partit) Edit: Je viens d'essayer ceci: foreach ($items as $item) { $item['lien'] = $item['$lien']; $item['titre'] = $item['$titre']; $html .= "<li><a href=\"".$item['lien']."\" target=\"_blank\">"; $html .= $item['titre']."</a></li>\n"; } Ne marche pas non plus :s Modifié 6 Avril 2006 par zimounet
Jok Posté 6 Avril 2006 Posté 6 Avril 2006 Je pense que la réponse se trouve du côté de la fonction eval. Ca devrait être dans le genre : eval("\$lien = \$item[\"$lien\"];"); Essai
TheRec Posté 6 Avril 2006 Posté 6 Avril 2006 (modifié) Bonjour, la déclaration dynamique de clé de tableau, au moyen de variables se fait avec cette syntaxe : $item[$keyname] = value Un peu de lecture du manuel PHP au sujet des tableaux Note : Cela ne signifie pas que vous devez toujours mettre les clés entre guillemets. Vous n'allez pas utiliser les guillemets avec les clés qui sont des constantes ou des variables, car cela empêchera PHP de les interpréter correctement.Source: http://php.benscom.com/manual/fr/language.types.array.php Ce qui donnerait : foreach ($items as $item) { $html .= "<li><a href=\"".$item[$lien]."\" target=\"_blank\">"; $html .= $item[$titre]."</a></li>\n";} Modifié 6 Avril 2006 par TheRec
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant