Pergunta

Eu decidi tentar http://www.screwturn.eu/ wiki como um armazenamento trecho de código Utilitário. Até agora estou muito impressionado, mas o que me irkes é que quando eu copiar e colar meu código que eu quero salvar, '<' s e '[' ( http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references ) invariavelmente estragar a saída como as interpreta wiki-los como qualquer wiki ou HTML tags.

Alguém sabe uma maneira de contornar isso? Ou na sua falta, sabe de um utilitário simples que levaria código C ++ e convertê-lo em código HTML seguro?

Foi útil?

Solução

Surround seu código em .. tags.

Outras dicas

Você pode usar o @@ ... @@ tag para escapar do código e automaticamente envolvê-la em PRE tags.

Eu não sei de utilitários, mas eu tenho certeza que você poderia escrever um aplicativo muito simples que faz um achado / substituir. Para suportes de ângulo de visualização, você só precisa substituí-los com &gt; e &lt; respectivamente. Quanto aos colchetes, que é um problema wiki específico com os methinks remarcação.

Dario Solera escreveu "Você pode usar o @@ ... @@ tag para escapar do código e automaticamente envolvê-la em tags PRE."

Se você não quer que ele envolveu o uso apenas: <esc></esc>

Lista de personagens que precisam escapar:

  • <(sinal de menor)
  • & (e comercial)
  • [(abertura de colchete)

Você já tentou envolver seu código em html pré ou tags de código antes de colar? Ambos permitir que quaisquer caracteres especiais (tais como '<') a ser utilizado sem ser interpretado como html. pré também homenageia a formatação do conteúdo.

exemplo

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

Para postar código C ++ em uma página web, você deve convertê-lo em HTML válido em primeiro lugar, que geralmente requerem o uso de entidades de caracteres HTML , como os outros. Isto não se limita a substituir < e > com &lt; e &gt;. Considere o seguinte código:

unsigned int maskedValue = value&mask;

Uh-oh, é que o DTD HTML conter uma entidade chamada &mask;? Melhor substituir & com &amp; também.

Indo em uma direção alternativa, você pode se livrar de [ e ], substituindo-os com a trigraphs ??( e ??). Em C ++, trigraphs e dígrafos são sequências de caracteres que podem ser usados ??para representar caracteres específicos que não estão disponíveis em todos os conjuntos de caracteres. Eles não são susceptíveis de ser reconhecido pela maioria dos programadores C ++ embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top