2011-11-21 74 views
0

我要显示在浏览器上,而不是执行它的代码,所以我用highlight_string<br />和highlight_string

<?php highlight_string('function foo(items) { 
    for (var i=0; i<items.length; i++) { 
     alert(items[i] + "juhu"); 
    } // Real Tab. 
}')?> 

回报,

<code><span style="color: #000000"> function&nbsp;foo(items)&nbsp;{ <br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i=0;&nbsp;i&lt;items.length;&nbsp;i++)&nbsp;{ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(items[i]&nbsp;+&nbsp;"juhu"); <br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Real&nbsp;Tab. <br />}</span> </code> 

<code> 

但我以后新线没有<br/> s,

<code><span style="color: #000000"> 

function&nbsp;foo(items)&nbsp;{ 
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i=0;&nbsp;i&lt;items.length;&nbsp;i++)&nbsp;{ 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(items[i]&nbsp;+&nbsp;"juhu"); 

&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Real&nbsp;Tab. 

}</span> 

</code> 

这可能吗?

回答

1

您应该能够正常换行符(\ r \ n)和输出你的字符串替换每个<br />标签,就像这样:

$data = highlight_string('function foo(items) { 
for (var i=0; i<items.length; i++) { 
    alert(items[i] + "juhu"); 
} // Real Tab. 
}',true); 
$data = str_replace('<br />',"\r\n",$data); 
echo '<pre>'; 
echo $data; 
echo '</pre>'; 
+0

由于克里斯特:-) – laukok

0

为什么不尝试制作自定义函数?获取字符串作为参数,通过'return'分解字符串,在循环中的子字符串上使用highlight_string函数,然后连接所有子字符串以形成所需的串。