0

我有一个关联数组,其中每个值都包含一行代码。我在foreach()循环中显示它们。我怎样才能突出显示所有这些?

我找到了这个highlight_string()功能。它确实有效,是的,但仅限于代码周围的 PHP 标记。问题是我不想显示这些标签。它是一个数组,因此应该将标签添加到每个值中,这会使结果看起来很难看。

将标签添加到数组的开头和结尾也不起作用 - 我不会highlight_string()在整个数组上使用(环绕foreach()循环)。

如果我去掉 PHP 标记,突出显示将停止工作。

有没有办法在不包括 3rd 方应用程序的情况下做到这一点?

例子:

这是数组:

$var = array(0 => 'for($i=0;$i<5;$i++)', 1 => '// do something', 2 => '$i++', 3 => '}');

这就是我一个接一个地显示代码行的方式:

foreach($var as $line) 
{
   echo $line . '<br>';
}

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

4

2 回答 2

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);
于 2012-11-24T11:35:57.053 回答
1

尝试使用GeSHi。它被许多网站和开源项目使用。

于 2012-11-24T11:35:50.410 回答