Alan McFarlane wrote:
I've been trying to add line-numbers to my source code, but can't seem to
work out how to do it.

As an example, I tried the following:

<?php

function addPrefix( $matches )
{
    static $line = 1;

    return $line++ . $matches[0];
}

$url = split("\?", $_GET['url']);
$source = highlight_file($url[0], true);
$source = preg_replace_callback("`\<br \/\>`U", "addPrefix", $source);

echo $source;

?>

which is called whenever the use user on a link like <a
href="show-source.php?url=index.php">Show Source</a>

The problem is that my regex does not correcly match the lines.

Anyone got any bright ideas?

This might work :


<style type="text/css">
code { color: rgb(0,0,255) }
.c2 { position:absolute; left:45; white-space: nowrap; }
.nw { white-space: nowrap; }
</style>

and then use this function on a file:
function highlight_file_rownums( $file )
{
ob_start();
highlight_file($file);
$data = ob_get_contents();
ob_end_clean();

$data_lines = explode('<br />',$data);
for ($i=0, $j=count($data_lines); $i < $j; $i++) {
$k = $i + 1;
$ret .= '<div class="nw"><code>'.$k.'</code><span class="c2">'.$data_lines[$i]."</span></div>\n";
if (strlen($data_lines[$i]) > 450) {
$ret .= '<br />';
}
}
return $ret;
}


http://www.php.net/manual/en/function.highlight-file.php

--
Burhan Khalid
phplist[at]meidomus[dot]com



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to