Numbered Code Highlighter (Rated 5)Description:
This will hightlight the php code and number each line. This can be initiated in many different ways. The function colorphp has a first argument that accepts the string to highlight, and the second argument accepts an int that will declare what the numbers should start as.
A simple way to implement the script is using regex, like this:
$string=preg_replace('/<\?(.*?)\?>/ise',"colorphp('<?\\1?>')",$string); Code starts here
<?
function colorphp($var,$start=1){
$x=explode("<br />",highlight_string($var,true));
for($i=0;$i<count($x);$i++){
$v.="\n<font face='verdana' size='1' color='#000000'><strong>".$start.":</strong></font> ".$x[$i]."\n<br />";
$start++;
}
$t='<table width="100%" cellpadding="2" cellspacing="0">';
$t.="\n<tr valign='top'>";
$t.="\n<td><span class=\"med\">PHP:</span></td>";
$t.="\n<tr valign='top'>";
$t.="\n<td><p class='code'>{$v}</p></td>";
$t.="\n</tr>\n</table>";
return $t;
}
?>
could be called like so.
<?
//1st method
$text="\ntesting \n<?\necho 'hello';\n?>\n yep";
$colored=colorphp($text);
echo $colored;
/************\
//Will ouput the following, but colored
1: testing
2: <?
3: echo 'hello';
4: ?>
5: yep
\************/
//2nd method
$text="\ntesting \n<?\necho 'hello';\n?>\n yep";
$colored=colorphp($text,3);
echo $colored;
/************\
//Will ouput the following, but colored
3: testing
4: <?
5: echo 'hello';
6: ?>
7: yep
\************/
//3rd method
$text="\ntesting \n<?\necho 'hello';\n?>\n yep";
$colored=preg_replace('/<\?(.*?)\?>/ise',"colorphp('<?\\1?>')",$text);
echo $colored;
/************\
//Will ouput the following, but only the text on lines 2-4 would be colored.
1: testing
2: <?
3: echo 'hello';
4: ?>
5: yep
\************/
Last Edited: June 26, 2003, 7:27 pm
Submitted by darkobjects on 26-06-2003 19:27 |