Question

J'ai décidé d'utiliser le wiki http://www.screwturn.eu/ pour stocker des extraits de code. utilitaire. Jusqu'ici, je suis très impressionné, mais ce qui me dérange, c'est que, lorsque je copie-colle mon code que je souhaite enregistrer, '& Lt;' s et '[' ( http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references ) a invariablement bousillé la sortie, car le wiki l'a interprétée comme un wiki ou Balises HTML.

Est-ce que quelqu'un sait comment s'y prendre? Ou, à défaut, connaissez-vous un utilitaire simple qui prendrait du code C ++ et le convertirait en code sécurisé HTML?

Était-ce utile?

La solution

Entourez votre code dans < nowicki > .. < / nowicki > tags.

Autres conseils

Vous pouvez utiliser la balise @@ ... @@ pour échapper au code et l'envelopper automatiquement dans des balises PRE .

Je ne connais pas d'utilitaires, mais je suis sûr que vous pourriez écrire une application très simple qui effectue une recherche / remplacement. Pour afficher les équerres, il vous suffit de les remplacer respectivement par &gt; et &lt;. En ce qui concerne les crochets, c’est un problème spécifique du wiki avec les méta-éclairages Markdown.

Dario Solera a écrit & "; Vous pouvez utiliser la balise @@ ... @@ pour échapper au code et l'envelopper automatiquement dans les balises PRE. &";

Si vous ne le souhaitez pas, utilisez simplement: <esc></esc>

Liste des caractères à échapper:

  • < (moins que le signe)
  • & amp; (esperluette)
  • [(crochet d'ouverture)

Avez-vous essayé d’emballer votre code dans des balises HTML pre ou Code avant de coller? Les deux autorisent l'utilisation de caractères spéciaux (tels que '& Lt;') sans être interprétés comme du code HTML. pre honore également le formatage du contenu.

exemple

<pre>
    if (foo <= bar) {
        do_something();
    }
</pre>

Pour publier du code C ++ sur une page Web, vous devez d'abord le convertir en HTML valide, ce qui nécessitera généralement l'utilisation de Entités de caractères HTML , comme d'autres l'ont noté. Cela ne se limite pas à remplacer < et > par &lt; et &gt;. Considérez le code suivant:

unsigned int maskedValue = value&mask;

Uh-oh, la DTD HTML contient-elle une entité appelée &mask;? Remplacez mieux & par &amp; également.

Dans une autre direction, vous pouvez vous débarrasser de [ et ] en les remplaçant par le trigraphes ??( et ??). En C ++, les trigrammes et digraphes sont des séquences de caractères pouvant être utilisées pour représenter des caractères spécifiques qui ne sont pas disponibles dans tous les jeux de caractères. Cependant, ils ne seront probablement pas reconnus par la plupart des programmeurs C ++.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top