Как исправить SyntaxHighlighter, чтобы показать файл cpp без добавления дополнительных символов?

Показывать C/C++ код с правильным форматированием я нашел SyntaxHighlighter который является основанным на javascript синтаксическим форматером для нескольких языков.

Я скачал пример по ссылке своей страницы и отредактировал 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>

1

Решение

Это связано с использованием специальных символов HTML<‘,’> ‘и т. д. вы можете использовать Функция PHP htmlspecialchars () преобразовать их в &л,&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>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]