Preserve white-space in Page

时间:2013-03-09 作者:brentonstrine

我经常发布带有代码示例的页面。然而,Wordpress去掉了空格,从而破坏了代码的缩进和格式。因此:

<pre>
    selector {
       property: value;
       property: value;
    }
</pre>
变成这样:

selector {property: value;property: value;}
我找到了修复换行符的原始HTML插件,但即使使用原始HTML,空格也不会被保留,所以看起来是这样的:

selector {
property: value;
property: value;
}
我还使用了保留的HTML编辑器标记插件,但它不支持<pre><code> 标签,这正是我需要它的地方。如何保留多个连续空间?

编辑:为了澄清,空白是stripped out by Wordpress 将其发送到浏览器之前:查看源代码会显示空间已折叠。

4 个回复
SO网友:carkod

您没有将代码包装在内部<code> 标签。

<pre>
<code>    
selector {
           property: value;
           property: value;
        }
</code>
</pre>
此外,大多数语法突出显示插件也使用这种格式(两者都是<pre><code>) 渲染代码。这里有更多关于这方面的信息。https://css-tricks.com/snippets/css/make-pre-text-wrap/

SO网友:revo

不要使用可视化编辑器。将代码复制到“HTML”视图中,它将保留缩进。将其复制到“可视化”视图中,您的代码将全部左对齐。。。

http://codex.wordpress.org/Writing_Code_in_Your_Posts

SO网友:Marc Dingena

也许你可以remove_filter( \'the_content\', \'wp_filter_kses\' ); 但这也会从文章的其余部分删除标记,而不仅仅是代码位。

也许您可以尝试如上所述删除筛选器,然后在上添加筛选器\'the_content\' 具有自己的功能。在该函数中,您可以准确地指定哪些内容要转换为标记,哪些内容要保留为其原始形式(例如,介于<pre> 例如标记)。

SO网友:Arevico

例如,您可以使用代码高亮显示插件http://wordpress.org/extend/plugins/syntaxhighlighter/. 他们应该能够保持空白。

默认情况下,HTML中会删除后续的空白(例如:" " 两个空格变为" "

您应该用代码替换空格&nbsp;, 或者您可以在<pre></pre> 标记(指示预先格式化的文本)

(我还没有测试过这个插件,也没有与之关联)

结束

相关推荐

将esc_html与HTML净化器和CSSTidy一起使用:过度杀伤力?

目前,Wordpress主题选项面板中的我的文本区域输入(接受用户自定义CSS输入)由Wordpress中的esc\\u html函数进行清理http://codex.wordpress.org/Function_Reference/esc_html然而,我正在考虑一种安全的方法,因此我想添加HTML净化器和CSSTidy,如下图所示:https://stackoverflow.com/questions/3241616/sanitize-user-defined-css-in-php这有必要吗?或者像e