要以正确的格式显示C/C++
代码,我发现SyntaxHighlighter是一种基于javascript的语法格式化程序,适用于多种语言。
我已从其网页链接下载the sample并编辑了index.html
文件,以格式化以下代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
</pre>
</html>
但它没有正确显示C ++文件。而是显示如下页面:
您可以在这里测试我的代码段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Hello SyntaxHighlighter</title>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js"></script>
<link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/current/styles/shCoreDefault.css"/>
<script type="text/javascript">SyntaxHighlighter.all();</script>
</head>
<body style="background: white; font-family: Helvetica">
<h1>Hello SyntaxHighlighter</h1>
<pre class="brush: cpp;">
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
</pre>
</html>
&#13;
如何解决此问题?
答案 0 :(得分:2)
这是由于html特殊字符'&lt;','&gt;'您可以使用PHP htmlspecialchars() Function将它们转换为&amp; lt,&amp; gt等。然后它将正确解析html特殊字符。
<pre class="brush: cpp;">
<?php
echo htmlspecialchars('
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}')?>
</pre>