所以我使用Google代码美化了AnchorCMS。所有其他语言但 HTML工作。这就是我尝试使用的内容。
<pre class="prettyprint lang-html">
<!DOCTYPE html>
</pre>
但我认为编辑器正在解释<pre>
标签中的HTML,以及它无法正常工作的原因。 Here's当我尝试显示上述代码时会发生什么。我使用了<pre class="prettyprint lang-js">
的{{3}}示例。我现在不确定该怎么做。有任何想法吗?也很抱歉直接链接到我的网站。我不能在JSFiddle上显示它
答案 0 :(得分:11)
<pre>
标记的内容需要采用HTML编码。
您不需要使用<
,>
,"
和&
字符,而是需要使用其编码对应字符:
<
变为<
>
变为>
"
变为"
&
变为&
答案 1 :(得分:0)
尝试
$('.prettyprint').text('<!DOCTYPE html>');
或
document.querySelector('.prettyprint').innerText('<!DOCTYPE html>');
这会自动为浏览器编码html实体
如果您使用像PHP这样的服务器端脚本语言,最好在服务器上对其进行编码:
<强> PHP:强>
<pre class="prettyprint lang-html">
<?=htmlspecialchars('<!DOCTYPE html>');?>
</pre>
答案 2 :(得分:0)
必须在服务器上处理。我猜你有一个带插件的CMS系统。 (看起来你可能正在使用WP。)
然后尝试一个代码漂亮的插件。这样的插件可以为你处理。
如果它不起作用,请询问插件作者他/她是否想要修复它。
答案 3 :(得分:0)
而是使用以下HTML标记:
<xmp >
<!doctype html>
</xmp>
确定它会起作用。
答案 4 :(得分:0)
此<pre class="prettyprint lang-html"><!DOCTYPE html></pre>
在我的浏览器(Chrome)中显示<!DOCTYPE html>
。这是您的页面源代码是atm
<pre class="lang-html">
<!DOCTYPE html>
</pre>
页面可能未更新?
答案 5 :(得分:0)
您有一些格式错误的HTML,可能导致某些元素无法按要求呈现。
此外,来源的来源 - 数据库?,如果您从数据库中获取原始数据(使用Navicat或其他非基于Web的工具),并将其粘贴到数据库中,您是否可以准确粘贴它的样子? Windows记事本(确切存储的内容......可能必须通过在线编码器运行才能看到)
答案 6 :(得分:0)
@zzzzBov是对的,浏览器要求您要显示的标记中的实体被编码。
但根据Chromes的源代码视图,您的CMS似乎可能在输出时自动再次取消标记:
在具有相同问题的人的this bug report中,维护者建议使用自定义主题函数来解决此问题:
在版本0.9和1.0中,帖子和页面的内容不会更改 保存到数据库时,如果输入文本等html代码 它将呈现为html,如果你想要html编码,你将不得不 输入它编码为&lt; b&gt; text&lt; / b&gt;。
要解决此问题,您可以在主题中使用自定义功能 functions.php文件可以完全按照您的喜好处理内容。
function mytheme_article_content() { // if you just want the raw content you saved return Registry::prop('article', 'html'); // if you want the content to be parsed with markdown $md = new Markdown; return $md->transform(Registry::prop('article', 'html')); // if you want to encode any html in you posts return htmlentities(Registry::prop('article', 'html'), ENT_NOQUOTES, Config::app('encoding')); }
因此,您可以选择一些选项来获得所需的输出。在你的 模板只需用mytheme_article_content替换article_html。
我会下注最后一行(return htmlentities
...)可能是您要查找的版本,因此请尝试删除上面的两行,以return
开头并调用{{1在维护者建议的模板文件中。