We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30248
    • 11 Posts
    Bon, un problème nul:

    Dans un module, j’ai une textarea qui affiche un texte qui a été entré dans la base MySQL, texte qui contient un lien.
    Ca ressemble à un truc comme ça:
    <textarea name="strContenu" rows="5" cols="50">’ . $_POST[’contenu’] . ’</textarea>

    et dans $_POST[’contenu’], j’ai un texte de ce genre:
    cliquez ici : <a href="http://www.monsite.com/mapage.html">www.monsite.com</a>

    je voudrais que ma balise <a href=""></a> ne soit pas interpretée dans le module que j’essaie de faire car lorsque j’essaie d’afficher le contenu dans un gridItem, par exemple, ça me fait du grand n’importe quoi à l’affichage.
    <td class="gridItem">’ . $row[’contenu’] . ’</td>
    ça plante au niveau des " ", ça vient me mettre la moitié du lien dans la case d’à côté...

    Par contre, aucun problème au niveau du snippet qui affiche mes données dans le frontoffice. Mon lien fonctionne.

    je voudrais éviter de remplacer ces balises html par des balises maison, et je ne souhaite pas utiliser de WYSIWYG. J’ai une solution ou alors je continue à pédaler dans la semoule?

    Merci

    Note: je développe ce module à base du module Autolink (très pratique d’ailleurs)
      • 33175
      • 711 Posts
      Utilises htmlentities() pour transformer les caractères en entités html, puis utilises une 2e fois htmlentities() pour transformer les entités en caractères non interprétés.

      ’<textarea name="strContenu" rows="5" cols="50">’ . htmlentities( htmlentities( $_POST[’contenu’] ) ) . ’</textarea>’
        Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
        • 20394
        • 134 Posts
        Ce post croise le post précédent.
        Je pensais essayer avec createTextNode :
        <textarea name="strContenu" rows="5" cols="50">document.createTextNode(' . $_POST['contenu'] . ')</textarea>
          • 33175
          • 711 Posts
          Je ne connais pas createTextNode. C’est une fonction modx ?
            Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
            • 30248
            • 11 Posts
            Alors c’est presque ça, je te remercie. Après avoir testé htmlentities( ), avec tous les pametres possibles, j’ai vu que le problème ne vient pas de l’html, mais du php qui interprète bizarrement le " lorsqu’il est appelé dans une variable de genre ’ . $row[’contenu’] . ’...
            Je ne comprends pas tout, mais après quelques tests, j’ai finit par trouver la solution...

            au lieu de
            cliquez ici : <a href="http://www.monsite.com/mapage.html">www.monsite.com</a>
            je mets
            cliquez ici : <a href=’http://www.monsite.com/mapage.html’>www.monsite.com</a>
            ^ ^
            et ça passe...
            très très subtil ce html ma foi...

            Merci en tout cas!
              • 30248
              • 11 Posts
              Pour info au départ j’avais ce problème là:


              que je n’ai plus.
                • 20394
                • 134 Posts
                @Guillaume
                document.createTextNode fait parti du DOM.
                Il permet de créer un nouveau noeud text. De toute façon ma solution ne marchait pas, étant gênée par les guillemets.