Re: Q. Adding line numbers to highlighted source
| From: | Burhan Khalid | Date: | Fri, 04 Apr 2003 05:48:37 +0000 |
| Subject: | Re: Q. Adding line numbers to highlighted source | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-142257@lists.php.net to get a copy of this message | ||
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 ) {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]comstatic $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?