Domanda

Ho deciso di provare http://www.screwturn.eu/ wiki come archivio di frammenti di codice utilità. Finora sono rimasto molto colpito, ma ciò che mi infastidisce è che quando copio incolla il mio codice che voglio salvare, '& Lt;' s e '[' ( http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references ) invariabilmente rovinano l'output mentre il wiki li interpreta come wiki o Tag HTML.

Qualcuno sa come aggirare questo? O in caso contrario, conosci una semplice utility che prenderebbe il codice C ++ e lo convertirà in codice HTML sicuro?

È stato utile?

Soluzione

Circonda il tuo codice in < nowiki > .. < / nowiki > tag.

Altri suggerimenti

Puoi utilizzare il tag @@ ... @@ per sfuggire al codice e inserirlo automaticamente nei tag PRE .

Non conosco le utility, ma sono sicuro che potresti scrivere un'app molto semplice che trova / sostituisce. Per visualizzare le parentesi angolari, è sufficiente sostituirle rispettivamente con &gt; e &lt;. Per quanto riguarda le parentesi quadre, questo è un problema specifico della wiki con i methink markdown.

Dario Solera ha scritto " Puoi usare il tag @@ ... @@ per sfuggire al codice e inserirlo automaticamente nei tag PRE. "

Se non vuoi che sia avvolto, usa: <esc></esc>

Elenco di caratteri che devono essere salvati:

  • lt &; (segno meno di)
  • &
  • amp; (E commerciale)
  • [(parentesi quadra aperta)

Hai provato a racchiudere il tuo codice in tag html pre o code prima di incollarlo? Entrambi consentono l'uso di caratteri speciali (come '& Lt;') senza essere interpretati come html. pre onora anche la formattazione dei contenuti.

Esempio

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

Per pubblicare il codice C ++ su una pagina Web, è necessario prima convertirlo in HTML valido, che di solito richiede l'uso di entità di caratteri HTML , come altri hanno notato. Ciò non si limita alla sostituzione di < e > con &lt; e &gt;. Considera il seguente codice:

unsigned int maskedValue = value&mask;

Uh-oh, la DTD HTML contiene un'entità chiamata &mask;? Meglio sostituire & anche con &amp;.

Andando in una direzione alternativa, puoi sbarazzarti di [ e ] sostituendoli con trigraphs ??( e ??). In C ++, trigraphs e digraphs sono sequenze di caratteri che possono essere utilizzate per rappresentare caratteri specifici che non sono disponibili in tutti i set di caratteri. È improbabile che vengano riconosciuti dalla maggior parte dei programmatori C ++.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top