如何防止博主在撰写视图中转换我的 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 仅当内容出现在 script
或 noscript
标签中时才会接受此内容。因此,一些有用的东西 -
<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
标签,那么它将被调整为循环遍历它们。
假设我在博客的 "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 仅当内容出现在 script
或 noscript
标签中时才会接受此内容。因此,一些有用的东西 -
<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
标签,那么它将被调整为循环遍历它们。