php mettre des < > dans une variable

  • Auteur de la discussion Auteur de la discussion rudddy
  • Date de début Date de début
WRInaute passionné
Bonjour,

j'essaye de mettre du xml dans une variable

mais ensuite impossible d'afficher cette variable :

Code:
$sXML = '<NOM NAME="nom"><PARAMETERS></PARAMETERS></NOM>';

quand je fais :

Code:
echo $sXML;

rien ne s'affiche ...

précisions : quand j'enlève les < > tout s'affiche !
faut-il échapper les caractères ?

merci de votre aide
 
WRInaute accro
ah non, tu veux l'afficher sur un site web ou l'envoyer ? tu dois faire ca pour l'affichage, mais sans la modifier elle

genre echo str_replace("<","&lt;",$tavar)
 
WRInaute accro
Oui, si tu envoi un fichier xml, il va parser ton fichier et cherchet <tabalise>, pas &lt;tabalise&rt;

par contre si tu souhaite l'afficher à l ecran, il faut que fasse quelquechose du genre htmlentites($tavar) avant de l'afficher
 
WRInaute discret
Ca doit forcément apparaître dans le source de la page.

Je ne vois aucune raison pour que cela soit le contraire :

test.php
Code:
<?php
$sXML = '<NOM NAME="nom"><PARAMETERS></PARAMETERS></NOM>';
echo $sXML;
?>

terminal
Code:
telnet a.b.c.d 80
Trying a.b.c.d...
Connected to a.b.c.d.
Escape character is '^]'.
GET /test.php
<NOM NAME="nom"><PARAMETERS></PARAMETERS></NOM>Connection closed by foreign host

Après si tu veux l'afficher, c'est différent. Là rien ne s'affiche, parce que ton navigateur ne sais pas comment traiter ton information.[/code]
 
WRInaute accro
ouech, tu verras ce que te répondra le gars qui receptionne ton flux si il a un soucis ;) mais tout ira bien
 
WRInaute occasionnel
Si tu dois le renvoyer en XML et que tu veux que le navigateur l'affiche, alors il suffit de dire au navigateur que c'est du XML.
Les htmlentities et autres c'est du bricolage.

Code:
<?php
header('Content-type: text/xml');

$sXML = '<NOM NAME="nom"><PARAMETERS></PARAMETERS></NOM>';

echo $sXML;
 
WRInaute accro
tout dépend si il veut afficher le contenu dans une page web ou afficher directement le XML. ce n'est pas du bricolage, c'est 2 principes totalement différent
 
Discussions similaires
Haut