RE: [PHP] Re: Q. Adding line numbers to highlighted source
| From: | John W. Holmes | Date: | Fri, 04 Apr 2003 18:12:02 +0000 |
| Subject: | RE: [PHP] Re: Q. Adding line numbers to highlighted source | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-142389@lists.php.net to get a copy of this message | ||
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:mcfarlane_alan@lycos.co.uk]
> Sent: Friday, April 04, 2003 12:46 PM
> To: php-general@lists.php.net
> 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" <mcfarlane_alan@lycos.co.uk> wrote in message
> news:20030404052948.42043.qmail@pb1.pair.com...
> > 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