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

有谁知道解决这个问题的方法吗?或者如果做不到这一点,是否知道一个简单的实用程序可以将 C++ 代码转换为 HTML 安全代码?

有帮助吗?

解决方案

将您的代码放在 <nowiki> 中..</nowiki> 标签。

其他提示

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

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

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

如果您不想将其包裹起来,只需使用: <esc></esc>

需要转义的字符列表:

  • <(小于号)
  • &(与号)
  • [(左方括号)

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

例子

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

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

unsigned int maskedValue = value&mask;

呃哦,HTML DTD 是否包含一个名为 &mask;?更好地更换 &&amp; 以及。

换个方向走,你就可以摆脱 [] 将它们替换为 三字母组 ??(??). 。在 C++ 中,三字母和二字母是字符序列,可用于表示并非在所有字符集中都可用的特定字符。但大多数 C++ 程序员不太可能认识到它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top