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

Reply via email to