Page 1 sur 1

signes "<" et ">" dans une chaine de caractères PHP

Posté : 15 oct. 2013, 22:15
par papounet007
Problème supposé tout simple sur lequel je butte depuis plusieurs heures :

J'ai fait un code PHP de test qui est le suivant :
<?php
	$a = '"Famille TOTO" <aaaa>'; // guillemet simple puis guillemet double au début 
	echo $a;
Cela n'affiche que la première partie : "Famille TOTO". Si j'enlève "aaaa", çà marche, mais dès que j'ajoute n'importe quoi entre les signes "<" et ">", la fin n'apparait plus !

Je n'ai rien trouvé dans les manuels PHP qui indiquerait que "<" ait une signifie spéciale dans les chaines de caractères.

J'ai essayé sur le serveur de test de mon PC (wampserver sous Windows 7) et sur mon hébergeur OVH : c'est pareil !

Une idée ?

Merci de votre aide.

Re: signes "<" et ">" dans une chaine de caractères PHP

Posté : 15 oct. 2013, 23:10
par sylvercis
Ce n'est pas un problème de php mais de HTML.
tout ce qui est entre < et > est considéré comme une balise html. Si c'est une balise que le navigateur ne reconnais pas comme <aaaa> il ne l'affiche simplement pas.

tu peut faire ça:

Code : Tout sélectionner

$a = '"Famille TOTO" <aaaa>'; echo $a;
ou

Code : Tout sélectionner

$a = htmlspecialchars('"Famille TOTO" <aaaa>'); echo $a;

Re: signes "<" et ">" dans une chaine de caractères PHP

Posté : 16 oct. 2013, 08:01
par moogli
Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.

Re: signes "<" et ">" dans une chaine de caractères PHP

Posté : 16 oct. 2013, 11:14
par papounet007
Merci beaucoup ! Effectivement, le contenu de $a était bon mais pas son affichage. J'ai tellement l'habitude de rajouter des "echo" pour tester mes variables que je n'avais pas fait attention que le résultat serait interprété en HTML et donc le contenu entre "<" et ">" ignorés.

Re: [RESOLU] signes "<" et ">" dans une chaine de caractères

Posté : 16 oct. 2013, 11:46
par computarelier
Salut,

Dans ce cas essaye de tester tes variables avec var_dump : tu verras le type, la taille et d'autres infos utiles te permettant d'éviter des erreurs ! :-)

Re: [RESOLU] signes "<" et ">" dans une chaine de caractères

Posté : 16 oct. 2013, 15:01
par papounet007
Je ne connaissais pas. Merci de l'idée.

Re: [RESOLU] signes "<" et ">" dans une chaine de caractères

Posté : 16 oct. 2013, 18:36
par xTG
A noter tout de même que var_dump n'est pas magique, car elle va aussi interpréter le HTML (ou plutôt ne va pas le protéger et donc ton navigateur va l'interpréter). :)

Le mieux est de se faire une petite fonction de debug qui passerai ta variable par un traitement à base de htmlspecialchars() ou autre.

Re: [RESOLU] signes "<" et ">" dans une chaine de caractères

Posté : 16 oct. 2013, 18:54
par computarelier
Ah ouais.. Merci :-)
string(12) "Hello
"
Mais on voit quand même que ce string a une drôle de tête ;-)

Re: [RESOLU] signes "<" et ">" dans une chaine de caractères

Posté : 17 oct. 2013, 20:38
par sirakawa
Tu peux aussi tester les syntaxes Heredoc ou newdoc.