highlight_file suggestion
| From: | Jeffry Killen | Date: | Sun, 06 Apr 2014 22:15:47 +0000 |
| Subject: | highlight_file suggestion | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-323165@lists.php.net to get a copy of this message | ||
Hello;
I have a suggestion for output from highlight_file(<file>, true);
I am trying to format the string for display in <pre> tags:
if((file_exists('php/runner.php') && $_done) || $_show)
{
<pre> <code><span style="color: #000000"> 0 <span style="color: #0000BB"><?php 1 </span> 2 <span style="color: #FF8000">// addScript -></span> 3 <span style="color: #007700">function </span><span style="color: #0000BB">runner</span><span style="color: #007700">() 4 { 5 </span><span style="color: #0000BB">$_fr </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">, </span><span style="color: #DD0000">'r'</span><span style="color: #007700">); 6 </span><span style="color: #0000BB">$_js </span><span style="color: #007700">= </span><span style="color: #0000BB">fread</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fr</span><span style="color: #007700">, </span><span style="color: #0000BB">filesize</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">)); 7 </span><span style="color: #0000BB">$_js </span><span style="color: #007700">= </span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"alert(\"Hello from lab_0.js\")"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #0000BB">$_js</span><span style="color: #007700">); 8 </span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fr</span><span style="color: #007700">); 9 </span><span style="color: #0000BB">$_fw </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">, </span><span style="color: #DD0000">'w'</span><span style="color: #007700">); 10 </span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fw</span><span style="color: #007700">, </span><span style="color: #0000BB">$_js</span><span style="color: #007700">); 11 </span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fw</span><span style="color: #007700">); 12 return </span><span style="color: #0000BB">0</span><span style="color: #007700">; 13 } 14 15 16 17 18 19 </span> 20 <span style="color: #0000BB">?></span> </span></code></pre>
print "<pre class=\"norm\">\n".$_showStr."</pre>\n";
$_lines = highlight_file('php/runner.php', true);
$_lines = str_replace("<code>", "<code>\n", $_lines);
$_lines = str_replace(" ", " ", $_lines);
$_lines = str_replace("<br /></span>", "</span><br />", $_lines);
$_linesRed = explode("\n", $_lines);
$_lineNum = explode('<br />', $_linesRed[2]);
$_display = $_linesRed[0].$_linesRed[1]."\n";
for($_itr = 0; $_itr < count($_lineNum); $_itr++)
{
$_display .= $_itr." ".$_lineNum[$_itr]."\n";
}
$_display .= $_linesRed[3].$_linesRed[4];
print "\n<pre>\n".$_display."</pre>\n";
}
which produces (browser view source )
I have to include a unix formated plain text file
because the e-mail client will not preserver the formatting
so you can see what I am talking about:
<pre> <code><span style="color: #000000"> 0 <span style="color: #0000BB"><?php 1 </span> 2 <span style="color: #FF8000">// addScript -></span> 3 <span style="color: #007700">function </span><span style="color: #0000BB">runner</span><span style="color: #007700">() 4 { 5 </span><span style="color: #0000BB">$_fr </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">, </span><span style="color: #DD0000">'r'</span><span style="color: #007700">); 6 </span><span style="color: #0000BB">$_js </span><span style="color: #007700">= </span><span style="color: #0000BB">fread</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fr</span><span style="color: #007700">, </span><span style="color: #0000BB">filesize</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">)); 7 </span><span style="color: #0000BB">$_js </span><span style="color: #007700">= </span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"alert(\"Hello from lab_0.js\")"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #0000BB">$_js</span><span style="color: #007700">); 8 </span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fr</span><span style="color: #007700">); 9 </span><span style="color: #0000BB">$_fw </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'js/lab_0.js'</span><span style="color: #007700">, </span><span style="color: #DD0000">'w'</span><span style="color: #007700">); 10 </span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fw</span><span style="color: #007700">, </span><span style="color: #0000BB">$_js</span><span style="color: #007700">); 11 </span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$_fw</span><span style="color: #007700">); 12 return </span><span style="color: #0000BB">0</span><span style="color: #007700">; 13 } 14 15 16 17 18 19 </span> 20 <span style="color: #0000BB">?></span> </span></code></pre>