Drupal 7 SyntaxHighlighter treats<&燃气轮机;作为HTML标记签名
这幅图描述了我的问题,这是一个C代码,下面是一个Drupal 7 SyntaxHighlighter treats<&燃气轮机;作为HTML标记签名,drupal-7,syntax-highlighting,Drupal 7,Syntax Highlighting,这幅图描述了我的问题,这是一个C代码,下面是一个 <pre class="brush: cpp"> #include <stdio.h> int main() { printf("Hello world<imnew>"); return 0; } </pre> return filter_dom_serialize(filter_dom_load($text)); <pre class="brush: cpp">
<pre class="brush: cpp">
#include <stdio.h>
int main() {
printf("Hello world<imnew>");
return 0;
}
</pre>
return 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>
#包括
int main(){
printf(“你好世界”);
返回0;
}
我得到的节点输出如下
为什么会发生这种情况?如何修复它?这是在语法高亮输入过滤器之后执行的“更正错误和截断的HTML”输入过滤器的问题。从“更正错误和截断的HTML”输入筛选器执行的代码如下所示
<pre class="brush: cpp">
#include <stdio.h>
int main() {
printf("Hello world<imnew>");
return 0;
}
</pre>
return 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>
我尝试执行以下代码
$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));
$text=我也有同样的问题,尽管我没有检查“更正错误和截断的HTML”过滤器。
但我找到了一个临时解决方案,将第一个小于字符的字符转义到
使用名称空间std;
void main()
{
cout除了@guneysus答案外,将all<改为也有效