我想在浏览器上显示代码而不是执行代码,因此我使用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 foo(items) { <br /> for (var i=0; i<items.length; i++) { <br /> alert(items[i] + "juhu"); <br /> } // Real Tab. <br />}</span> </code>
<code>
但我在新行之后没有<br/>
s,
<code><span style="color: #000000">
function foo(items) {
for (var i=0; i<items.length; i++) {
alert(items[i] + "juhu");
} // Real Tab.
}</span>
</code>
有可能吗?
答案 0 :(得分: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>';
答案 1 :(得分:0)
为什么不尝试创建自定义函数。将字符串作为参数,通过'return'分解字符串,在循环中的子字符串上使用highlight_string函数,然后连接所有子字符串以形成所需的字符串