IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Executer une fonction PHP contenu dans une variable texte


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut [Système] Executer une fonction PHP contenu dans une variable texte
    Bonjour,
    Je ne sais pas si c'est possible, mais j'aimerai pouvoir executer une fonction contenu dans le texte d'une variable.
    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	<p>
    	<?php
    	function Ecrire($fString)
    		{
    			return $fString;
    		}
    	$String = 'Bonjour je suis <?php Ecrire("moi");?>.';
    	echo $String;
    	?>
    	</p>
    Renvoie uniquement "Bonjour je suis .".

    Il semble que la fonction Ecrire n'est pas prise en compte.
    Merci pour toute aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <p>
    <?php
    function Ecrire($fString)
    {
    return $fString;
    }
    $toto = Ecrire("moi");
    $String = "Bonjour je suis $toto";
    echo $String;
    ?>
    </p>

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    Non a priori il ne manque pas d'echo. Même avec l'exemple ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	<p>
    	<?php
    	function Ecrire($fString)
    		{
    			echo $fString;
    		}
    	$String = 'Bonjour je suis <?php Ecrire("moi");?>.';
    	echo $String;
    	?>
    	</p>
    le texte renvoyé reste : "Bonjour je suis ."

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $String = 'Bonjour je suis ' . Ecrire("moi");
    C'est mieux

  5. #5
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    ce n'est pas comme ça que ça marche PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $String = 'Bonjour je suis '.Ecrire("moi");
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    Merci à vous,

    Mais dans ces exemples le code php n'est pas présent dans le string de la variable. Encore plus simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <p>
    <?php
      $text = "Je m'appelle <?php echo 'toto';?>";
      echo $text;
    ?>
    </p>
    ne renvoie que "Je m'appelle". Comment faire pour que l'instruction <?php echo 'toto';?> soit exécutée ? Concrètement $Text est le contenu d'un champ de base de données...

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Essaye avec eval().

  8. #8
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    non, non et non, on ne rouvre pas des balises PHP dans du code PHP !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $nom = 'toto';
      $text = "Je m'appelle $nom";
      echo $text;
    ?>
    marche, ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $nom = 'toto';
      $text = 'Je m\'appelle '.$nom;
      echo $text;
    ?>
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  9. #9
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    Merci beaucoup vg33,
    Après quelques difficultés de syntaxe cette fonction que je ne connaissais répond à mon besoin !

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Devipir
    Concrètement $Text est le contenu d'un champ de base de données...
    C'est pour cela que j'ai proposé eval().

    Sinon, hors de ce contexte, je suis entièrement d'accord avec la concaténation. Eval() en effet n'est utile que quand on ne connait pas le code à exécuter.

  11. #11
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Je dois faire mon mea culpa, car je n'avais pas vu cette phrase tout à l'heure. Ensuite la machine s'est un peu emballé

    Fin du H.S.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Drupal] Appel form ajout de contenu dans une colorbox ou directement dans une vue
    Par cpom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 17/02/2012, 15h41
  2. Objet existant reconnu dans une fonction mais pas dans une autre
    Par Jiyuu dans le forum Général Python
    Réponses: 0
    Dernier message: 20/09/2011, 18h19
  3. [Dojo] Objet Dojo créé dans une fonction et utilisé dans une autre.
    Par hapalemur dans le forum Bibliothèques & Frameworks
    Réponses: 10
    Dernier message: 05/06/2009, 13h59
  4. [MySQL] executer une commande php contenu dans une variable
    Par Stopher dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/11/2006, 15h44
  5. Réponses: 3
    Dernier message: 20/05/2006, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo