We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10767
    • 7 Posts
    Salut à tous.

    Après quelques recherches infructueuses sur le forum et google je m’adresse à vous.

    J’ai crée une TV dont l’entrée est au format texte.
    Dans un snippet je récupère le contenu du TV mais lors de l’affichage dans la balise alt ou title dès qu’il y a une apostrophe mon texte est tronqué.

    $output.="<a id='vignette' href='".$img[$selectedTVsImg[$nbImg]]."'><img class='thum' alt='".$legendes[$selectedTVsLegende[$nbImg]]."' title='".$legendes[$selectedTVsLegende[$nbImg]]."' src='".$miniatures[$selectedTVsMini[$nbImg]]."' /></a></td>";



    J’ai essayé pas mal de solutions pour le moment ça veut pas ?

    Avez vous une petite idée ?

    Merci d’avance
    Emmanuel
      • 17422
      • 225 Posts
      Bonjour Emmanuel,

      tu as plusieurs solutions:

      1) intervertir les guillemets

      $output.='<a id="vignette" href="'.$img[$selectedTVsImg[$nbImg]].'"><img class="thum" alt="'.$legendes[$selectedTVsLegende[$nbImg]].'" title="'.$legendes[$selectedTVsLegende[$nbImg]].'" src="'.$miniatures[$selectedTVsMini[$nbImg]].'" /></a></td>';


      2) ou utiliser un str_replace en php

      http://php.net/manual/fr/function.str-replace.php

      $champAlt=str_replace("’","&rsquo;",$legendes[$selectedTVsLegende[$nbImg]]);


      Laurent
        • 36404
        • 307 Posts
        hello,

        en fait, intervertir les guillements comme le suggère lolotlm est une bonne idée du point de vue de php smiley

        là tu entoures ta chaîne de doubles cotes que tu fermes pour concaténer des variables alors que, précisément, l’intérêt des doubles cotes est que php sait lire des variables au sein d’une chaîne.
        Tu l’as peut-être fait à cause de problème avec des index de tableau, normal, dans ce cas, dans une chaîne entre doubles cotes il faut les mettre entre { et }

        la syntaxe logique entre doubles cotes consiste à échapper les... doubles cotes de la chaîne elle-même, ça donnerait une truc du genre
        $output.="<a id=\"vignette\" href=\"{$img[$selectedTVsImg[$nbImg]]}\">...";//etc


        la syntaxe suggérée par lolotlm en revanche a l’avantage de moins faire bosser le parser de php... simples cotes pour entourer une chaîne, concaténer variables et chaînes et utiliser des doubles cotes pour les attributs (c’est mieux) sans avoir besoin de les échapper et, effectivement, résoudra tes problèmes d’apostrophes dans les attributs (pas de guillements en revanche, là, un htmlentities($foo) s’imposera)

        have swing
          réfléchir avant d'agir