突出显示PHP中的代码行数组

时间:2012-11-24 11:29:31

标签: php

我有一个关联数组,其中每个值都包含一行代码。我在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>';
}

我希望将它们显示为突出显示的代码。

2 个答案:

答案 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。它被许多网站和开源项目使用。