Problème de syntaxe entre les guillemets et les apostrophes

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
idamarco
Arias
Messages : 1
Inscription : 19 févr. 2009, 12:47

Problème de syntaxe entre les guillemets et les apostrophes

Message par idamarco »

Bonjour à tous,

J'ai vu sur le forum que certains connaissent les infobulles de Walter Zorn.
Je les ai mis en place sur mon site mais je rencontre des problèmes avec la ponctuation.

Ces infobulles qui sont assez bien foutues sont difficiles à gérer dans des balises php.
Je m'explique:
J'ai le code suivant dans mes balises php.
Il fonctionne parfaitement sous Internet Explorer, pas avec les autres navigateurs...
J'ai testé bcp de ponctuations avant des trouver les `.
J'étais content de les voir fonctionner sous IE mais ma joie a été de courte durée en testant les autres navigateurs.
Avez vous une idée pour solutionner ce problème?
Merci

Code : Tout sélectionner

echo '<a href="index.htm" onmouseover="Tip(\'<img src=`bodyguard.jpg`>\')" onmouseout="UnTip()">Homepage </a>';
[/code]

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le navigateur ne reçoit pas de php. http://www.siteduzero.com/tutoriel-3-14 ... #ss_part_2
Ce qui peut nous aider à résoudre le problème, c'est le code que reçoit le navigateur.
Il faudrait aussi savoir ce qu'il y a comme javascript derrière Tip('<img src=`bodyguard.jpg`>'). Cela pourrait bien être la source du problème. Une démonstration "grandeur nature" (p.ex un lien où ce problème se pose) pourrait être utile ;-)
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Le mieux serait peut-être de faire un fonction JavaScript

Code : Tout sélectionner

function imgTip(src) {
  return Tip('<img src="'+src+'">";
}
et puis tu peux l'appeler sans guillemets supplémentaires :

Code : Tout sélectionner

echo '<a href="index.htm" onmouseover="imgTip(\'bodyguard.jpg\')" onmouseout="UnTip()">Homepage </a>';
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

La solution de Benoit devrait fonctionner, mais si tu veux juste concilier PHP et ton javascript, il te faut simplement échapper plus de caractères ;) , à savoir pour placer un slash tu lui ajoute un autre slash.
exemple, ton code retouché:

Code : Tout sélectionner

echo '<a href="index.htm" onmouseover="Tip(\'<img src=\\\'bodyguard.jpg\\\'>\')" onmouseout="UnTip()">Homepage </a>';
PHP produira :

Code : Tout sélectionner

onmouseover="Tip('<img src=\'../images/tooltip/operatooltip.gif\' >')"<a href="index.htm" onmouseover="Tip('<img src=\'bodyguard.jpg\'>')" onmouseout="UnTip()">Homepage </a>
ce qui semble être le code désiré par cette lib

Après je n'ai aucune idée de ce que produira le Javascript, je n'ai pas utilisé cette bibliothèque...

Vive les éditeurs avec coloration syntaxique, grandement pratique pour ce genre de truc ;) . Et sinon tu peux jouer avec la concaténation en PHP avec les . ou les , pour echo.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité