[html] Imbrication de guillemets "multiples&q

Fermé
Julien - 26 mai 2009 à 09:32
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 - 28 mai 2009 à 11:18
Bonjour,

Je réalise un site web en php/javascript/html et j'ai un problème d'imbrication de guillemets. Voila les morceaux de codes :

en php, je commence par déclarer les variable $sEventPicName et $EventCaracteristique :

$sEventPicName = "<img class=\"photo1\" style=\"width:{$this->iThumbSize}px;height:{$this->iThumbSize}px;background-image:url({$site['sdatingImage']}{$sTypePic}{$sEventPicName});\" src=\"{$sSpacerName}\" alt=\"{$sAlt}\" />";

Jusque la tout va bien : si j'affiche $sEventPicName dans ma page web, j'ai la bonne image qui apparait.

Le probleme c'est que je veux faire afficher cette image quand la souris passe sur une balise div. Donc un peu plus loin dans le code j'ai écrit :

$sEventPic = <<<EOF

<div class="thumbnail_block">
<a href="{$sGenUrl}">
<div OnMouseOver="this.innerHTML='{$sEventPicName}';" OnMouseOut="this.innerHTML='{$EventCaracteristique}';">
{$EventCaracteristique}
</div>
</a>
</div>

EOF;


Et c'est la que ca bug : le premier double guillemet de <img class=\" vient fermer le guillemet du onmouseover quand le code est lu par un navigateur.

J'ai déjà essayé de mettre des \' ou \\\' ou \\\" mais sans succès ...
Quelqu'un aurait-il une solution ?

Merci de votre aide

4 réponses

Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
26 mai 2009 à 12:00
Bonjour,

as-tu essayé avec les antiquotes ?
0
Merci Jodu pour ta réponse.

L'imbrication " ' `` ' " fonctionne bien.

Mais maintenant je suis confronté à un autre problème. Le code html à afficher est le suivant :

<img class=`photo1` style=`width:110px;height:110px;background-image:url(http://xxx/xxx/xxx/xxx.gif);` src=`http://xxx/xxx/xxx/yyy.gif` alt=`ddd.jpg` />

Sous internet explorer pas de problème.
Mais Firefox n'affiche pas les images : il affiche `ddd.jpg` (avec les anti quotes ...)
Et la console m'indique :
Avertissement : Déclaration attendue, mais « ` » trouvé. Passage à la déclaration suivante.

Comment faire pour qu'il lise les anti quotes comme des quotes normales ???

merci
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
28 mai 2009 à 10:55
Salut,

HTML n'interprète que les quotes/doubles quotes.

La solution serait de mettre des simples quotes à la place de tes antiquotes.
Ton code complet m'aiderait.
Tu sais, faire un truc genre ` "<img src='gnagna'.../>" `
En php, cela fonctionne si c'est bien fait.
0
Salut Jodu et merci pour ton aide.

Avant j'avais essayé le \" qui ne fonctionne pas puisqu'il referme le OnMouseOver ...
En fait j'ai trouvé la solution. Le \' marche :

Dans le code javascript : OnMouseOver="this.innerHTML='{$maVariable}';"
Dans le code php : $maVariable="<img src=\'xxxxx\' />";

A l'intérieur de ma balise <div>, il faut enlever les slashs puisqu'il s'agit directement du code HTML : stripslashes($maVariable);

Voila j'espère que ca servira à d'autre.

A bientot
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
28 mai 2009 à 11:18
Mais de rien ;)

Pas bête du tout, j'y avais pas pensé ><

A trop faire compliqué hein...
0