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 :

génération d'un sting avec caractères <>


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut génération d'un sting avec caractères <>
    Bonjour,

    Je rencontre un petit soucis en php..

    Je dois générer des balises xml toutes bêtes en php..

    du format <NomBalise>Valeur</NomBalise>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $params = array("ValeurA" => 1,"ValeurB" => 2);
    $soap_function_parameters='';
     
    foreach ($params as $key => $value) {
     
            $str='<'.$key.'>'.$value.'</'.$key.'>';
            $soap_function_parameters.=$str;
        }
     
        echo $soap_function_parameters;
    Le problème c'est que php me fait des intolérances par rapport au caractères < et >..

    Si je fais '<'.$key.'>'

    Ni la valeur $key, ni les caracètres autour ne s'affichent...

    Si je fais 'a'.$key.'a'

    J'aurais un affichache aValeurAa

    Et si je fais quelquechose de complètement illogique tel que :

    "<.$key.>" là il m'affiche la valeur de $key, mais avec les deux points à l'affichage (étant donné qu'ils sont dans les guillemets).

    Si quelqu'un a une idée.. merci d'avance (je suis en train de bloquer sur un détail qui représente peanuts par rapport au reste de mon code... c'est énervant au possible).

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,

    Normal, ton navigateur interprète ca comme des balises HTML, essaye comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach ($params as $key => $value) {
        $str = '&lt;' . $key . '&gt;' . $value . '&lt;/' . $key . '&gt;';
        $soap_function_parameters.=$str;
    }

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    htmlentities()
    htmlspecialchar()

  4. #4
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    si tu veux visualiser les <> dans ton navigateur il les interprète comme des balises html

    un peu truc : pour déactiver l'interprétation des balises tu les inserer entre "<xmp>" et "</xmp>"
    tout le code entre ces balises n'est pas interprété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $params = array("ValeurA" => 1,"ValeurB" => 2);
    $soap_function_parameters='';
     
    foreach ($params as $key => $value) {
     
            $str='<'.$key.'>'.$value.'</'.$key.'>';
            $soap_function_parameters.=$str;
        }
     
        echo "<xmp>".$soap_function_parameters."</xmp>" ;
    ?>
    donne a l'affichage
    <ValeurA>1</ValeurA><ValeurB>2</ValeurB>

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    patrickbaras, amoiraud, gene69, merci à vous.. ça m'a bien enlevé une épine du pied.



    A+

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

Discussions similaires

  1. [GD] Génération d'image avec caractères spéciaux
    Par csrobe dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/09/2008, 22h31
  2. [Débutant] génération d'un EJB avec GenIc
    Par Stessy dans le forum JOnAS
    Réponses: 65
    Dernier message: 31/01/2005, 10h50
  3. Réponses: 3
    Dernier message: 11/10/2004, 17h26
  4. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  5. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57

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