[html] Imbrication de guillemets "multiples&q

Julien -  
Jodu Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   14
 
Bonjour,

as-tu essayé avec les antiquotes ?
0
Julien
 
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   Statut Membre Dernière intervention   14
 
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
Julien
 
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   Statut Membre Dernière intervention   14
 
Mais de rien ;)

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

A trop faire compliqué hein...
0