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

jQuery Discussion :

Récupérer une chaîne php sans l'interprêter (<?php) [AJAX]


Sujet :

jQuery

  1. #1
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut Récupérer une chaîne php sans l'interprêter (<?php)
    Bonjour,

    Je développe un back-office permettant de stocker des scripts de plusieurs langages (php, sql,...). L'outil permet d'éditer ces scripts.

    Les codes sont stockés en base MySQL, après avoir été traités par un htmlentities() en php, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    &lt;?php
    echo '&lt;strong&gt;coucou&lt;/strong&gt;';
    (ce qui correspond à un <?php echo '<strong>coucou</strong>'; )

    Ils sont affichés dans un tableau html, avec un html_entity_decode() pour recréer les entités html, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <td class="code">
        <img title="&lt;?php
    echo '&lt;strong&gt;coucou&lt;/strong&gt;';" id="details-2" alt="Détails" src="images/details.png">
    </td>
    Le code pouvant être assez long, on l'affiche dans un title pour ne pas rendre illisible le tableau qui les contient tous.

    Lorsqu'on souhaite éditer une entrée, on l'affiche dans une lightbox (avec dialog de jQueryUI). Je récupère le code avec jQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var code = $('tr#' + id + ' td.code img#details-' + id).attr("title");
    Or je ne parviens pas à récuperer le code. Dans mon exemple, la variable code vaut :

    alors que je voudrais qu'elle ait la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<strong>coucou</strong>';
    Je bloque sur la partie JS pour traiter l'entrée comme une chaîne telle quelle, sans que les balises (<?php par exemple) ne soient interprêtées.

    Savez-vous comment faire ? Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    que donne le code html généré ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut
    Ca donne une image, avec le code qui s'affiche au survol.

  4. #4
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    tu as oublié d'encoder les ' et surement les " du code PHP !
    c'est surement ca qui empeche la recup

    faut passer ENT_QUOTES a ton htmlentities() pour qu'il convertisse les ' et "

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    que donne le code html généré ?


    Je traduis ...
    MONTRE NOUS TON CODE HTML GENERE ICI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Mettre les codes dans des balises code ou pre modifie l'apparence du code. C'est peut être le pourquoi du ' apparent dans le premier message.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut
    Merci pour votre aide, je n'avais pas pensé au ENT_QUOTES

    Citation Envoyé par SpaceFrog Voir le message


    Je traduis ...
    MONTRE NOUS TON CODE HTML GENERE ICI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Euh, y'a besoin de crier ? Je ne vois pas ce que je peux mettre en plus que ce que j'ai mis dans le 1er post...

  8. #8
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Le code généré est celui affiché par le navigateur. C'est-à-dire qu'il est dénué de tout code serveur (comme le php) car celui-ci a été parsé et transcris.

    Généralement, avec un clic-droit sur la page, il y a un point de menu permettant de récupérer le code "source"/de la page (qui est en fait le code HTML généré).

  9. #9
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut
    Oui, j'avais bien compris. Je remets ce code ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <td class="code">
        <img title="&lt;?php
    echo '&lt;strong&gt;coucou&lt;/strong&gt;';" id="details-2" alt="Détails" src="images/details.png">
    </td>

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tout simplement le html généré ...
    celui qui s'affiche avec "code source" de la page ...
    ça permet juste de voir ou se trouve le problème

    et comme stipulé dans les règles incontournables des forums javascript ... le code serveur ne nous est pas d'une grande utilité ... Il vous est demandé de poster le code HTML !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut
    Oui, et c'est du code HTML que j'ai posté dans le 1er post, et que je viens de remettre juste au dessus !

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td class="code">
        <img title="&lt;?php
    echo '&lt;strong&gt;coucou&lt;/strong&gt;';" id="details-2" alt="Détails" src="images/details.png">
    </td>
    ça du code html ????

    c'est du php ...
    le but étant de voir ce que reçoit ton navigateur ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Au temps pour nous. Notre confusion vient du fait que vous essayez justement de ne pas interpréter le code PHP.

  14. #14
    Membre éclairé
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 852
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td class="code">
        <img title="&lt;?php
    echo '&lt;strong&gt;coucou&lt;/strong&gt;';" id="details-2" alt="Détails" src="images/details.png">
    </td>
    ça du code html ????
    Au risque de vous surprendre, oui ! Dans mon title, j'ai une chaîne de caractère basique, les balises <td> et <img> sont du html aussi, il me semble...

    Pour y voir plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td class="code">
        <img title="ici mon contenu issu de la bdd" id="details-2" alt="Détails" src="images/details.png">
    </td>
    Je n'y vois que du HTML... Donc je ne vois toujours pas ce que je peux vous mettre de plus, c'est bien du "code généré" comme vous dites. Je l'ai copié depuis Firebug.

    Edit : merci vermine, j'ai du mal à me faire comprendre !

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

Discussions similaires

  1. Obtenir de xslt qu'il affiche une variable php sans l'interpréter
    Par Dendrite dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 15/07/2008, 11h51
  2. Récupérer une chaîne pour traitement
    Par loopback dans le forum Linux
    Réponses: 8
    Dernier message: 01/11/2007, 19h11
  3. [MySQL] afficher du html en php sans l'interpréter
    Par faamugol dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/10/2007, 14h32
  4. Expression régulière pour récupérer une chaîne.
    Par z980x dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 24/06/2007, 15h01
  5. [OS Perso] Récupérer une chaîne de caractères
    Par log2n dans le forum Programmation d'OS
    Réponses: 31
    Dernier message: 14/02/2006, 13h56

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