RE: [PHP] Re: Q. Adding line numbers to highlighted source

From: 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

« previous php.general (#142389) next »