C ++ Code Umwandlung in HTML sicher
Frage
habe ich beschlossen, http://www.screwturn.eu/ Wiki als Code-Schnipsel Speicher versuchen Nützlichkeit. Bisher bin ich sehr beeindruckt, aber was mich irkes, dass, wenn ich kopiere meinen Code einfügen, dass ich speichern möchten, ‚<‘ s und ‚[‘ ( http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references ) vermasseln immer die Ausgabe als das Wiki sie entweder als Wiki oder HTML-Tags interpretiert.
Kennt jemand eine Möglichkeit, um dieses? Oder in Ermangelung eines solchen, wissen von einem einfachen Programm, das C ++ Code nehmen und wandeln sie sicheren Code in HTML?
Lösung
Surround-Code in
Andere Tipps
Sie können mit der @@ ... @@ -Tag den Code zu entkommen und wickeln Sie es automatisch in PRE -Tags.
Ich weiß nicht, Dienstprogramme, aber ich bin sicher, dass Sie eine sehr einfache Anwendung schreiben könnte, die eine Entdeckung macht / ersetzen. Um spitze Klammern angezeigt werden, müssen Sie nur sie jeweils mit >
und <
ersetzen. Was die eckigen Klammern, das ist ein Wiki konkretes Problem mit dem Abschlag methinks.
Dario Solera schrieb "Sie können die @@ ... @@ Tag, um den Code zu entkommen und es automatisch in PRE-Tags wickeln."
Wenn Sie es nicht wollen, eingewickelt nur verwenden: <esc></esc>
Liste von Zeichen, die müssen zu entkommen:
- <(weniger als Zeichen)
- & (Ampersand)
- [(Öffnungs eckige Klammer)
Haben Sie versucht, Ihren Code in HTML vor oder Code-Tags vor dem Einfügen Verpackung? Beide erlauben Sonderzeichen (wie ‚<‘) ohne als HTML interpretiert verwendet werden wird. pre würdigt auch die Formatierung der Inhalte.
Beispiel
<pre>
if (foo <= bar) {
do_something();
}
</pre>
Um C ++ Code auf einer Webseite zu veröffentlichen, sollten Sie es in gültige HTML umwandeln ersten, die in der Regel die Verwendung erfordert HTML-Entitäten , wie andere haben zur Kenntnis genommen. Dies ist nicht zu ersetzen <
und >
mit <
und >
begrenzt. Betrachten Sie den folgenden Code ein:
unsigned int maskedValue = value&mask;
Uh-oh, wird der HTML-DTD enthält eine Entität namens &mask;
? Bessere ersetzen &
mit &
auch.
in einer alternativen Richtung gehen, können Sie von [
und ]
, indem sie mit dem trigraphs ??(
und ??)
. In C ++, trigraphs und Digraphen sind Sequenzen von Zeichen, die bestimmte Zeichen zu repräsentieren, die verwendet werden können, in allen Zeichensätzen nicht verfügbar sind. Es ist unwahrscheinlich, obwohl von den meisten C ++ Programmierer erkannt werden.