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 :

eval() et chaine mélangeant HTML et PHP.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 105
    Par défaut eval() et chaine mélangeant HTML et PHP.
    Bien le bonjour.

    J'ai besoin de vos lumières. j'ai cherché partout sur le net, je n'ai pu trouver de solution satisfaisante. Peut-être que vous pourrez m'aider à résoudre ce problème très embêtant. Soit le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ob_start();
    include 'fichier.html';
    $content = ob_get_clean();
     
    /* Je vous epargne le code de traitement inutile qui ne concerne pas mon problème */
    eval($content);
    fichier.html contient à la fois du code PHP et du code HTML. Le code PHP est affiché (donc non interpreté) via un echo afin de pouvoir être stocké dans un fichier de cache et être exécuté facilement par la suite avec un require(), mais je veux quand même que ce même code PHP soit interprété tout de suite, car la mise en cache n'est pas systématique, je fais donc un eval. Or, une erreur me saute à la figure (le chemin vers le fichier a été renommé) :

    Parse error: syntax error, unexpected '<' in xxxxx\View.php(165) : eval()'d code on line 3

    Quelqu'un peut-il m'aider à résoudre ce vrai casse-tête ?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Bonjour,
    Etant donné que eval va traiter une chaine comme un script PHP, il doit y avoir l'erreur sur ton view.php à la ligne 3 comme marqué, par ailleurs il se peut que le problème soit avant que l'erreur retourné ne soit déclenché qu'à la ligne 3 (comme l'oubli d'un " qui va déclencher une erreur 10 lignes plus bas).

    GoT

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 105
    Par défaut
    En fait j'ai réussi, après maints tests et cas différents situés à différents endroits de mes objets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ob_start();
    fonction_affichant_toute_la_page(); // je travaille en mvc pour info
    $page = ob_get_clean();
    eval( '?>' . $page );
    Ainsi, que le code soit lu à partir du cache ou non, il est bien interprété comme il faut sans la moindre erreur.

    Merci quand même pour l'aide ^^'

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Comme l'indique la doc, le code mis dans la fonction eval() doit être valide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval('echo $content;');

Discussions similaires

  1. HTML dans PHP, PHP dans HTML...
    Par jeremy_chauvel dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2006, 21h28
  2. [string->HTML] Conversion d'une chaine en HTML
    Par salome dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 24/07/2005, 17h27
  3. [eclipse 3.0.1]plugins pour dvlp web HTML / CSS / PHP
    Par partyboy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/10/2004, 12h46
  4. Transformation xml + xsl -> HTML via PHP
    Par petit-ourson dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/10/2003, 23h42

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