This also works the same, for comparisons sake, but your solution benchmarks faster:
$i=2; $fp = fopen($url,'r'); $file = fread($fp,filesize($url)); $file = highlight_string($file,TRUE); $file = str_replace('<code>','<code><span style="color:black;">00001</span>',$file); $file = preg_replace('/<br \/>/e','sprintf("<br /><span style=\"color:black;\">%05d </span>",$i++)',$file); echo "<hr>"; echo $file; Enjoy! ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ > -----Original Message----- > From: Alan McFarlane [mailto:[EMAIL PROTECTED] > Sent: Friday, April 04, 2003 12:46 PM > To: [EMAIL PROTECTED] > Subject: [PHP] Re: Q. Adding line numbers to highlighted source > > Well I finally found a workable solution: > > $url = "index.php"; /* for example */ > $source = explode("<br />", preg_replace("`\</?code\>`Ui", "", > highlight_file($url, true))); > > for ($i = 0; $i < count ($source); $i++) > $source[$i] = "<span style=\"color:black;\">" . str_pad($i, 5, "0", > STR_PAD_LEFT) . "</span> " . $source[$i]; > > echo "<code>" . implode("<br />", $source) . "</code>"; > > > > > "Alan McFarlane" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > 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? > > > > -- > > Alan McFarlane > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php