如何防止博主在撰写视图中转换我的 C++ 源代码片段?

How to prevent blogger from converting my c++ source code snippet in compose view?

假设我在博客的 "Compose" 选项卡上写了以下内容 post:

a->x(100)

我发布post.

如果我查看post,就是我想要的,基本上就是上面的代码。

问题是当我来到post再次编辑它时,它被改变了:

a->x(100)

这令人沮丧。

我不是HTML极客,有什么简单的解决方案吗?

[更新] 我想对于像我这样不愿意乱来的人来说,这里没有简单的解决方案 HTML。一个解决方法是,当我有一个包含代码片段的博客时,我只是将它写在 google 文档中并在博客中引用它。

你需要用 <pre> <code> 标签包装代码,然后把它放在你想要的地方 HTML tap 而不是 compose tap

<pre>
    <code>
        a->x(100)
    </code>
</pre>

发生这种情况是因为 Blogger 使用的 XML 解析器转义了某些字符(请参阅 this answer 了解更多信息)。阻止内容被转义的一种方法是将其包含在 -

<![CDATA[ 
 ... Your code ...
]]>

但 Blogger 仅当内容出现在 scriptnoscript 标签中时才会接受此内容。因此,一些有用的东西 -

<noscript>
  <![CDATA[
    a->x(100)
  ]]>
</noscript>

但是 noscript 标记不会被浏览器呈现,所以您将不得不使用一些 JavaScript 来让它显示出来

document.querySelector('noscript').insertAdjacentHTML('beforebegin','<pre><code>'+document.querySelector('noscript').textContent.replace("<![CDATA[","").replace("]]>","")+'</code></pre>');
<noscript>
  <![CDATA[
    a->x(100)
  ]]>
</noscript>

上面的 javascript 片段将呈现 noscript 标签内的内容。如果您在一个页面中有多个 noscript 标签,那么它将被调整为循环遍历它们。