2013-05-08 62 views
0

我正在创建一个在线源代码judge.I需要显示用户代码页面中正确的语法突出显示。语法高亮在PHP错误意外'代码'(T_STRING)

我使用的语法高亮https://code.google.com/p/syntaxhighlighter/

我在project.When复制所必需的文件我尝试它与我的代码集成我收到以下错误:

代码段的:

 $result = mysql_query($query); // query to fetch the code 
     $row = mysql_fetch_array($result); 
     $str = str_replace("<", "&lt;", $row['soln']); //$row['soln] has the code 
     echo("<strong>".$row['filename']."</strong><br/><br/>\n<pre name="code" class="c">".str_replace(">", "&gt;", $str)."</pre>"); 
    } 


?> 
<link type="text/css" rel="stylesheet" href="highlight/css/SyntaxHighlighter.css"></link> 
<script language="javascript" src="highlight/js/shCore.js"></script> 
<script language="javascript" src="highlight/js/shBrushCSharp.js"></script> 
<script language="javascript" src="highlight/js/shBrushXml.js"></script> 
<script language="javascript"> 
dp.SyntaxHighlighter.ClipboardSwf = 'highlight/flash/clipboard.swf'; 
dp.SyntaxHighlighter.HighlightAll('code'); 
</script> 

错误:

Parse error: syntax error, unexpected 'code' (T_STRING) in /opt/lampp/htdocs/project1/admin/preview.php on line 28

瓦我会错吗?感谢您的帮助

回答

2
echo("<strong>".$row['filename']."</strong><br/><br/>\n<pre name=\"code\" class=\"c\">".str_replace(">", "&gt;", $str)."</pre>"); 

用上面的替换你的回声,你没有转义一些双引号。

1
echo('<strong>'.$row['filename'].'</strong><br/><br/>\n<pre name="code" class="c">'.str_replace(">", "&gt;", $str).'</pre>'); 

或者你也可以试试这个。 不需要双引号。

相关问题