1

我决定尝试将http://www.screwturn.eu/wiki作为代码片段存储实用程序。到目前为止,我印象非常深刻,但令我恼火的是,当我复制粘贴我想要保存的代码时,'<'s 和 '[' ( http://en.wikipedia.org/wiki/Character_encodings_in_HTML#Character_references )当 wiki 将它们解释为 wiki 或 HTML 标记时,总是会搞砸输出。

有谁知道解决这个问题的方法?或者失败了,知道一个简单的实用程序可以将 C++ 代码转换为 HTML 安全代码吗?

4

7 回答 7

2

您可以使用@@...@@标记来转义代码并自动将其包装在PRE标记中。

于 2008-09-19T12:59:25.323 回答
1

在 <nowiki> .. </nowiki> 标签中包围你的代码。

于 2008-09-19T12:59:54.917 回答
0

我不知道实用程序,但我相信您可以编写一个非常简单的应用程序来执行查找/替换。要显示尖括号,您只需将它们分别替换为&gt;&lt;。至于方括号,这是markdown methinks的wiki特定问题。

于 2008-09-19T13:01:16.800 回答
0

您是否尝试在粘贴之前将代码包装在 html pre 或 code 标签中?两者都允许使用任何特殊字符(例如“<”)而不被解释为 html。pre 也尊重内容的格式。

例子

<pre>
    if (foo <= bar) {
        do_something();
    }
</pre>
于 2008-09-19T13:01:30.980 回答
0

Dario Solera 写道:“您可以使用@@...@@ 标签来转义代码并自动将其包装在 PRE 标签中。”

如果您不想将其包装,请使用:<esc></esc>

于 2008-09-19T13:01:38.843 回答
0

需要转义的字符列表:

  • <(小于号)
  • &(和号)
  • [(左方括号)
于 2008-09-19T13:19:26.850 回答
-1

要在网页上发布 C++ 代码,您应该首先将其转换为有效的 HTML,这通常需要使用HTML 字符实体,正如其他人所指出的那样。这不限于用<and>替换&lt;and &gt;。考虑以下代码:

unsigned int maskedValue = value&mask;

哦,HTML DTD 是否包含一个名为 的实体&mask;?最好也替换&&amp;

换个方向,你可以去掉[]三元组 ??(和替换它们??)。在 C++ 中,三合字母和二合字母是字符序列,可用于表示并非在所有字符集中都可用的特定字符。但是,大多数 C++ 程序员不太可能识别它们。

于 2008-09-20T07:58:16.647 回答