如何修复 SyntaxHighlighter 以在不添加额外字符的情况下显示 cpp 文件?
How to fix SyntaxHighlighter to show cpp file without adding extra characters?
为了以正确的格式显示 C/C++
代码,我发现 SyntaxHighlighter 这是一种基于 javascript 的多种语言的语法格式化程序。
我已经从其页面 link 下载了 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>
如何解决这个问题?
这是由于 html 个特殊字符 '<', '>' 等。您可以使用 PHP htmlspecialchars() Function 将它们转换为 <,> 等。然后它将正确解析 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>
为了以正确的格式显示 C/C++
代码,我发现 SyntaxHighlighter 这是一种基于 javascript 的多种语言的语法格式化程序。
我已经从其页面 link 下载了 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>
如何解决这个问题?
这是由于 html 个特殊字符 '<', '>' 等。您可以使用 PHP htmlspecialchars() Function 将它们转换为 <,> 等。然后它将正确解析 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>