我有一个关联数组,其中每个值都包含一行代码。我在foreach()
循环中显示它们。我怎样才能突出所有这些?
我找到了highlight_string()
功能。它确实有效,是的,但只有代码周围的PHP标签。问题是我不想显示这些标签。它是一个数组,因此应该将标记添加到每个单独的值,这会使结果看起来很难看。
在数组的开头和结尾添加标记也不起作用 - 我不会在整个数组上使用highlight_string()
(在foreach()
循环中)。
如果我摆脱了PHP标签,突出显示停止工作。
如果不包括第三方应用程序,有没有办法做到这一点?
实施例
这是数组:
$var = array(0 => 'for($i=0;$i<5;$i++)', 1 => '// do something', 2 => '$i++', 3 => '}');
这就是我一个接一个地显示代码行的方式:
foreach($var as $line)
{
echo $line . '<br>';
}
我希望将它们显示为突出显示的代码。
答案 0 :(得分:3)
这有望在这里提供帮助:
$code_array = array(
'<?php',
'echo "Hello";',
'?>'
);
echo highlight_string(implode("\r\n", $code_array), TRUE);
添加:由于您添加了代码示例,因此也可以使用:)
$var = array(0 => 'for($i=0;$i<5;$i++)', 1 => '// do something', 2 => '$i++', 3 => '}');
$var = array_merge(array('<?php'), $var, array('?>'));
echo highlight_string(implode("\r\n", $var), TRUE);
答案 1 :(得分:1)
尝试使用GeSHi。它被许多网站和开源项目使用。