IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Éviter que des extraits de code soient interprétés [HTML 5]


Sujet :

HTML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut Éviter que des extraits de code soient interprétés
    Bonjour (ou bonsoir)

    Je viens de lancer Xenu pour vérifier les URL de mon bleug et je m'aperçois que des URL figurant dans des portions de code que je publie (pourtant enserrés entre les balises code) étaient reconnues.
    J'utilise comme beaucoup syntaxhighlighter et je souhaite que ces portions de code ne soient pas interprétées quand le script n'est pas appelé.

    Sauf que je n'ai aucune idée sur le « comment faire ».

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut Je sèche sur un problème d'entités non converties
    Bon je suis en train de remplacer syntaxhighlighter par Chili (pour le moment je ne peux accéder au site) pour afficher le code dans des balises pre et code.

    En principe il faut passer le code html que l'on veut afficher en convertissant les crochets en < et >.

    Ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <pre><code class="html">
    &lt;div id=&quot;csstabs&quot;&gt;
    &lt;div id=&quot;tab1&quot;&gt;
    &lt;h3&gt;Onglet 1&lt;/h3&gt;
    &lt;ul class=&quot;tabcontent&quot;&gt;
    &lt;!-- Le contenu 1 //--&gt;
    &lt;/ul&gt;
    &lt;/div &gt;&lt;!-- fin onglet 1 //--&gt;
    &lt;div id=&quot;tab2&quot;&gt;
    &lt;h3&gt;Onglet 2&lt;/h3&gt;
    &lt;ul class=&quot;tabcontent&quot;&gt;
    &lt;!-- Le contenu 2 //--&gt;
    &lt;/ul&gt;
    &lt;/div&gt;&lt;!-- fin onglet 2 //--&gt;
    &lt;!--[if IE 7]&gt;
    &lt;br class=&quot;clearboth&quot;/&gt;
    &lt;![endif]--&gt;
    &lt;/div&gt;&lt;!-- fin # csstabs //--&gt;
    </code></pre>
    En principe Chili s'occupe de convertir les entités et ça marche en local dans une simple page HTML.

    Mais sur mon site ça ne passe pas !
    La conversion ne s'effectue pas pour le code HTML alors que pour les extraits de codes PHP, JS ou CSS ça marche.
    Vous pouvez voir ici :-http://on-air.hiseo.fr/css3/onglets-sans-echalotes-javascript/#jump
    le problème en détail.

    Que se passe t-il ? Qu'est ce qui bloque ?
    Ça fait 2 bonnes heures que je cherche l'origine de ce problème sans trouver de piste.

    Merci de me donner un coup de main.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    En regardant la source de ta page, le problème est évident : ton code est doublement échappé.

    Ce n'est pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <pre><code class="html">
    &lt;div id="csstabs"&gt;
    &lt;div id="tab1"&gt;
    Mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <pre><code class="html">
    &amp;lt;div id="csstabs"&amp;gt;
    &amp;lt;div id="tab1"&amp;gt;
    Il faut que tu mettes la première version, dont les caractères ne sont échappés qu'une fois.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup de m'avoir répondu thelvin.
    Même en le transformant ainsi ça ne marche pas.
    Voici une page avec le même code :
    -http://on-air.hiseo.fr/exemples/Chili-new.htm
    C'est une page HTML.

    Mais la page issue de PHP dont je donnais le lien (-http://on-air.hiseo.fr/css3/onglets-sans-echalotes-javascript/#jump) ne convertit pas les entités en crochets.
    Ce serait donc PHP qui serait le responsable. Ou des instructions dans mon fichier htaccess ? Ou autre chose...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    C'était bien une erreur dans mon code PHP.
    Ouf ! J'ai eu du mal à trouver.
    Résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Forcer 'assistant de création à faire du code vba plutôt que des macros
    Par lololebricoleur dans le forum Access
    Réponses: 2
    Dernier message: 20/11/2013, 17h30
  2. ajouter des extraits de code personnalisés
    Par adel.87 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 09/10/2008, 22h13
  3. Comment éviter que google répete des mots qui sont dans la description du meta tag
    Par tese84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/09/2006, 07h55
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo