这张图片描述了我的问题,这是一段C代码,如下所示。
<pre class="brush: cpp">
#include <stdio.h>
int main() {
printf("Hello world<imnew>");
return 0;
}
</pre>我得到的节点输出如下所示。

这一切为什么要发生?我怎么才能修复它?
发布于 2013-05-23 19:49:56
我也有同样的问题,尽管我没有检查“更正错误并截断HTML”过滤器。但我找到了一个时间解决方案,首先将小于字符转义为<
<pre class="brush:cpp">
#include <iostream>
using namespace std;
void main()
{
cout << "Hello World!" << endl; cout << "Welcome to C++ Programming" << endl; }
</pre>或者,您可以生成custom filter来转义大于和小于sembols的值来>一个<
发布于 2012-12-18 23:38:58
这是在语法荧光笔输入筛选器之后执行的“更正有故障且被截断的HTML”输入筛选器的问题。从“更正错误并截断HTML”输入过滤器中执行的代码如下所示。
return filter_dom_serialize(filter_dom_load($text));我尝试执行以下代码。
$text = <<<HTML
<pre class="brush: cpp">
#include <stdio.h>
int main() {
printf("Hello world<imnew>");
return 0;
}
</pre>
HTML;
print filter_dom_serialize(filter_dom_load($text));我得到的输出如下所示。
<pre class="brush: cpp">
#include <stdio.h>
int main() {
printf("Hello world<imnew>");
return 0;
}
</imnew></stdio.h></pre>原因就是<stdio.h>和<imnew>被解释为标签,它们在</pre>之前关闭。语法高亮应该避开代码中发现的任何<和>,以避免出现这样的问题。
发布于 2015-08-06 21:02:06
除了@guneysus回答之外,将所有<更改为<也是有效的。
https://stackoverflow.com/questions/13872145
复制相似问题