<object id="xwuag"></object>
      1. <tbody id="xwuag"><pre id="xwuag"><video id="xwuag"></video></pre></tbody>
        <progress id="xwuag"></progress>

        <nav id="xwuag"><big id="xwuag"><rt id="xwuag"></rt></big></nav>
        <em id="xwuag"></em>

        <nav id="xwuag"></nav><rp id="xwuag"></rp>
        <li id="xwuag"></li>
      2. <rp id="xwuag"></rp>
        <s id="xwuag"></s><th id="xwuag"><pre id="xwuag"><video id="xwuag"></video></pre></th>
      3. <nav id="xwuag"><center id="xwuag"></center></nav>
          <dd id="xwuag"><big id="xwuag"></big></dd>

          highlight_string

          (PHP 4, PHP 5, PHP 7)

          highlight_string字符串的语法高亮

          说明

          highlight_string ( string $str [, bool $return = false ] ) : mixed

          使用PHP内置的语法高亮器所定义的颜色,打印输出或者返回输出或者返回语法高亮版本的PHP代码。

          参数

          str

          需要高亮的PHP代码,应当包含开始标签。

          return

          设置该参数为 TRUE 使函数返回高亮后的代码。

          返回值

          如果 return 设置为 TRUE,高亮后的代码不会被打印输出,而是以字符串的形式返回。 高亮成功返回 TRUE,否则返回 FALSE

          范例

          Example #1 highlight_string() 例子

          <?php
          highlight_string
          ('<?php phpinfo(); ?>');
          ?>

          以上例程会输出:

          <code><span style="color: #000000">
          <span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
          </span>
          </code>
          

          注释

          Note:

          当使用了return 参数时,本函数使用其内部输出缓冲,因此不能在 ob_start() 回调函数的内部使用。

          产生的 HTML 标记可能会有更改。

          参见

          add a note add a note

          User Contributed Notes 28 notes

          up
          17
          stanislav dot eckert at vizson dot de
          3 years ago
          You can change the colors of the highlighting, like this:

          <?php
          ini_set
          ("highlight.comment", "#008000");
          ini_set("highlight.default", "#000000");
          ini_set("highlight.html", "#808080");
          ini_set("highlight.keyword", "#0000BB; font-weight: bold");
          ini_set("highlight.string", "#DD0000");
          ?>

          Like you see in the example above, you can even add additional styles like bold text, since the values are set directly to the DOM attribute "style".

          Also, this function highlights only text, if it begins with the prefix "<?php". But this function can highlight other similar formats too (not perfectly, but better than nothing), like HTML, XML, C++, JavaScript, etc. I use following function to highlight different file types and it works quite good:

          <?php
          function highlightText($text)
          {
             
          $text = trim($text);
             
          $text = highlight_string("<?php " . $text, true);  // highlight_string() requires opening PHP tag or otherwise it will not colorize the text
             
          $text = trim($text);
             
          $text = preg_replace("|^\\<code\\>\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>|", "", $text, 1);  // remove prefix
             
          $text = preg_replace("|\\</code\\>\$|", "", $text, 1);  // remove suffix 1
             
          $text = trim($text);  // remove line breaks
             
          $text = preg_replace("|\\</span\\>\$|", "", $text, 1);  // remove suffix 2
             
          $text = trim($text);  // remove line breaks
             
          $text = preg_replace("|^(\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>)(&lt;\\?php&nbsp;)(.*?)(\\</span\\>)|", "\$1\$3\$4", $text);  // remove custom added "<?php "

             
          return $text;
          }
          ?>

          Note, that it will remove the <code> tag too, so you get the formatted text directly, which gives you more freedom to work with the result.

          I personally suggest to combine both things to have a nice highlighting function for different file types with different highlight coloring sets:

          <?php
          function highlightText($text, $fileExt="")
          {
              if (
          $fileExt == "php")
              {
                 
          ini_set("highlight.comment", "#008000");
                 
          ini_set("highlight.default", "#000000");
                 
          ini_set("highlight.html", "#808080");
                 
          ini_set("highlight.keyword", "#0000BB; font-weight: bold");
                 
          ini_set("highlight.string", "#DD0000");
              }
              else if (
          $fileExt == "html")
              {
                 
          ini_set("highlight.comment", "green");
                 
          ini_set("highlight.default", "#CC0000");
                 
          ini_set("highlight.html", "#000000");
                 
          ini_set("highlight.keyword", "black; font-weight: bold");
                 
          ini_set("highlight.string", "#0000FF");
              }
             
          // ...

             
          $text = trim($text);
             
          $text = highlight_string("<?php " . $text, true);  // highlight_string() requires opening PHP tag or otherwise it will not colorize the text
             
          $text = trim($text);
             
          $text = preg_replace("|^\\<code\\>\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>|", "", $text, 1);  // remove prefix
             
          $text = preg_replace("|\\</code\\>\$|", "", $text, 1);  // remove suffix 1
             
          $text = trim($text);  // remove line breaks
             
          $text = preg_replace("|\\</span\\>\$|", "", $text, 1);  // remove suffix 2
             
          $text = trim($text);  // remove line breaks
             
          $text = preg_replace("|^(\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>)(&lt;\\?php&nbsp;)(.*?)(\\</span\\>)|", "\$1\$3\$4", $text);  // remove custom added "<?php "

             
          return $text;
          }
          ?>
          up
          4
          Dobromir Velev
          11 years ago
          Here is an improved version of Dimitry's xml_highlight function.
          I fixed a bug which replaced the first character of the tags name,
          and added a line to replace the tabs and spaces with
          non-breaking space symbols to keep the identation.

          <?
          function xml_highlight($s){
            $s = preg_replace("|<([^/?])(.*)\s(.*)>|isU", "[1]<[2]\\1\\2[/2] [5]\\3[/5]>[/1]", $s);
            $s = preg_replace("|</(.*)>|isU", "[1]</[2]\\1[/2]>[/1]", $s);
            $s = preg_replace("|<\?(.*)\?>|isU","[3]<?\\1?>[/3]", $s);
            $s = preg_replace("|\=\"(.*)\"|isU", "[6]=[/6][4]\"\\1\"[/4]",$s);
            $s = htmlspecialchars($s);
            $s = str_replace("\t","&nbsp;&nbsp;",$s);
            $s = str_replace(" ","&nbsp;",$s);
            $replace = array(1=>'0000FF', 2=>'0000FF', 3=>'800000', 4=>'FF00FF', 5=>'FF0000', 6=>'0000FF');
            foreach($replace as $k=>$v) {
              $s = preg_replace("|\[".$k."\](.*)\[/".$k."\]|isU", "<font color=\"#".$v."\">\\1</font>", $s);
            }

            return nl2br($s);
          }
          ?>
          up
          5
          manithu at fahr-zur-hoelle dot org
          14 years ago
          This function will return highlighted, xhtml 1.1 valid code (replaces <font> with <span> elements and color with style attributes):

          <?php

          function xhtml_highlight($str) {
             
          $str = highlight_string($str, true);
             
          //replace <code><font color=""></font></code>
             
          $str = preg_replace('#<font color="([^\']*)">([^\']*)</font>#', '<span style="color: \\1">\\2</span>', $str);
             
          //replace other <font> elements
             
          return preg_replace('#<font color="([^\']*)">([^\']*)</font>#U', '<span style="color: \\1">\\2</span>', $str);
          }

          ?>
          up
          5
          www.phella.net
          11 years ago
          When you quote highlighted PHP code in your website you need to escape quotes. If you quote a lot it may be annoyning. Here is tiny snippet how to make quoting tidy and clean. Write your code like this:

          <?code()?>
            $string = 'Here I put my code';
          <?code()?>

          And somewhere else define the function:

          <?
            function code()
            {
              static $on=false;
              if (!$on) ob_start();
              else
              {
                $buffer= "<?\n".ob_get_contents()."?>";
                ob_end_clean();
                highlight_string($buffer);
              }
              $on=!$on;
            }
          ?>
          up
          5
          admin [at] develogix [dot] com
          14 years ago
          I've been working on a good replacement for the highlight_string() function; and here is what I've come up with so far:

          <?
          function get_sourcecode_string($str, $return = false, $counting = true, $first_line_num = '1', $font_color = '#666'){
              $str = highlight_string($str, TRUE);
              $replace = array(
                  '<font' => '<span',
                  'color="' => 'style="color: ',
                  '</font>' => '</span>',
                  '<code>' => '',
                  '</code>' => '',
                  '<span style="color: #FF8000">' =>
                      '<span style="color: '.$font_color.'">'
                  );
              foreach ($replace as $html => $xhtml){
                  $str = str_replace($html, $xhtml, $str);
              }
              // delete the first <span style="color:#000000;"> and the corresponding </span>
              $str = substr($str, 30, -9);
                         
              $arr_html      = explode('<br />', $str);
              $total_lines   = count($arr_html);   
              $out           = '';
              $line_counter  = 0;
              $last_line_num = $first_line_num + $total_lines;
             
              foreach ($arr_html as $line){
                  $line = str_replace(chr(13), '', $line);
                  $current_line = $first_line_num + $line_counter;
                  if ($counting){
                      $out .= '<span style="color:'.$font_color.'">'
                            . str_repeat('&nbsp;', strlen($last_line_num) - strlen($current_line))
                            . $current_line
                            . ': </span>';
                  }
                  $out .= $line
                        . '<br />'."\n";
                  $line_counter++;
              }
              $out = '<code>'."\n".$out.'</code>."\n"';

              if ($return){return $out;}
              else {echo $out;}
          }
          ?>

          This function outputs valid XHTML 1.1 code by replacing font tags with span tags. You can also specify whether you want it to return or echo, output a line-count, the color of the line-count, and the starting line-count number.

          Usage:
          <?
          // $str = string with php
          // $return = true (return) / false (echo)
          //    default of false
          // $counting = true (count) / false (don't count)
          //    default of true
          // $start = starting count number
          //    default of '1'
          // $color = count color with preceding #
          //    defalut of '#666'
          get_sourcecode_string($str, $return,   $counting, $start, $color);
          ?>
          up
          2
          stalker at ruun dot de
          13 years ago
          to vouksh: I expanded your functions a bit:

          <?php
          function xhtmlHighlightString($str,$return=false) {
            
          $hlt = highlight_string(stripslashes($str), true);
            
          $fon = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $hlt);
            
          $ret = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $fon);
             if(
          $return)
               return
          $ret;
             echo
          $ret;
             return
          true;
          }
          function
          xhtmlHighlightFile($path,$return=false) {
            
          $hlt = highlight_file($path, true);
            
          $fon = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $hlt);
            
          $ret = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $fon);
             if(
          $return)
               return
          $ret;
             echo
          $ret;
             return
          true;
          }
          ?>
          up
          2
          admin at bwongar dot com
          14 years ago
          I didn't get the expected results from the other XHTML_highlight function, so I developed my own and it is much more efficient. The older one uses a preg_replace to replace the contents of the tag to within a span tag. The only preg_replace in my function pulls the color attribute, and puts it within a str_replace'd span tag.

          <?php
          function xhtml_highlight($str) {
             
          $str = highlight_string($str, true);
             
          $str = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $str);
              return
          preg_replace('#color="(.*?)"#', 'style="color: \\1"', $str);
          }

          ?>
          up
          3
          Dmitry S
          10 years ago
          Alternative XML syntax highlighting.

          <?php
          function xml_highlight($s)
          {       
             
          $s = htmlspecialchars($s);
             
          $s = preg_replace("#&lt;([/]*?)(.*)([\s]*?)&gt;#sU",
                 
          "<font color=\"#0000FF\">&lt;\\1\\2\\3&gt;</font>",$s);
             
          $s = preg_replace("#&lt;([\?])(.*)([\?])&gt;#sU",
                 
          "<font color=\"#800000\">&lt;\\1\\2\\3&gt;</font>",$s);
             
          $s = preg_replace("#&lt;([^\s\?/=])(.*)([\[\s/]|&gt;)#iU",
                 
          "&lt;<font color=\"#808000\">\\1\\2</font>\\3",$s);
             
          $s = preg_replace("#&lt;([/])([^\s]*?)([\s\]]*?)&gt;#iU",
                 
          "&lt;\\1<font color=\"#808000\">\\2</font>\\3&gt;",$s);
             
          $s = preg_replace("#([^\s]*?)\=(&quot;|')(.*)(&quot;|')#isU",
                 
          "<font color=\"#800080\">\\1</font>=<font color=\"#FF00FF\">\\2\\3\\4</font>",$s);
             
          $s = preg_replace("#&lt;(.*)(\[)(.*)(\])&gt;#isU",
                 
          "&lt;\\1<font color=\"#800080\">\\2\\3\\4</font>&gt;",$s);
              return
          nl2br($s);
          }
          ?>
          up
          1
          zer0
          13 years ago
          Concerning my code below:

          I'm sorry, I completely forgot about str_ireplace being for PHP 5 for some reason. Also, there was another error I missed (too many late nights ;)). Here's the corrected code:

          <?php
             
          function highlight_code($code, $inline=false, $return=false) // Pre php 4 support for capturing highlight
             
          {
                  (string)
          $highlight = "";
                  if (
          version_compare(PHP_VERSION, "4.2.0", "<") === 1 )
                  {
                     
          ob_start(); // start output buffering to capture contents of highlight
                     
          highlight_string($code);
                     
          $highlight = ob_get_contents(); // capture output
                     
          ob_end_clean(); // clear buffer cleanly
                 
          }
                  else
                  {
                     
          $highlight=highlight_string($code, true);
                  }
                 
                 
          # Using preg_replace will allow PHP 4 in on the fun
                 
          if ( $inline === true )
                     
          $highlight=preg_replace("/<code>/i","<code class=\"inline\">",$highlight);
                  else
                     
          $highlight=preg_replace("/<code>/i","<code class=\"block\">",$highlight);           
                 
                  if (
          $return === true )
                  {
                      return
          $highlight;
                  }
                  else
                  {
                      echo
          $highlight;
                  }
              }
          ?>
          up
          1
          stanislav dot eckert at vizson dot de
          4 years ago
          The documentation says for the first parameter "The PHP code to be highlighted. This should include the opening tag. ". But it seems that the code should not only but *must* start with PHP's opening tag or otherwise the function will still modify but will not highlight the code.
          up
          1
          fsx dot nr01 at gmail dot com
          10 years ago
          Here is an improved version of the code highlighter w/ linenumbers from 'vanessaschissato at gmail dot com' - http://nl.php.net/manual/en/function.highlight-string.php#70456

          <?php

             
          function printCode($source_code)
              {

                  if (
          is_array($source_code))
                      return
          false;
                
                 
          $source_code = explode("\n", str_replace(array("\r\n", "\r"), "\n", $source_code));
                 
          $line_count = 1;

                  foreach (
          $source_code as $code_line)
                  {
                     
          $formatted_code .= '<tr><td>'.$line_count.'</td>';
                     
          $line_count++;
                    
                      if (
          ereg('<\?(php)?[^[:graph:]]', $code_line))
                         
          $formatted_code .= '<td>'. str_replace(array('<code>', '</code>'), '', highlight_string($code_line, true)).'</td></tr>';
                      else
                         
          $formatted_code .= '<td>'.ereg_replace('(&lt;\?php&nbsp;)+', '', str_replace(array('<code>', '</code>'), '', highlight_string('<?php '.$code_line, true))).'</td></tr>';
                  }

                  return
          '<table style="font: 1em Consolas, \'andale mono\', \'monotype.com\', \'lucida console\', monospace;">'.$formatted_code.'</table>';
              }

          ?>
          up
          1
          Pyerre
          12 years ago
          This fonction replaces every space with the html code &nbsp; (non-breaking space)
          this is not very good because text will not go to the line and causes a big width
          for example in a bordered div, text will go across the border

          my solution :
          echo str_replace("&nbsp;", " ",highlight_string("Arise, you children of the fatherland",true));
          echo str_replace("&nbsp;", " ",highlight_file("test.php",true));
          up
          0
          pyetrosafe at gmail dot com
          4 months ago
          I read the note from "stanislav dot eckert at vizson dot de" and I really enjoyed the function he created.
          For my use I made some adaptations leaving the function more practical and allowing the passage and multiple parameters at a time, I also modified the style of the <code> element with a black background and margins.

          <?php

          // Combined of the highlight_string and var_export
          function hl_export()
          {
              try {
                 
          ini_set("highlight.comment", "#008000");
                 
          ini_set("highlight.default", "#FFFFFF");
                 
          ini_set("highlight.html", "#808080");
                 
          ini_set("highlight.keyword", "#0099FF; font-weight: bold");
                 
          ini_set("highlight.string", "#99FF99");

                 
          $vars = func_get_args();

                  foreach (
          $vars as $var ) {
                     
          $output = var_export($var, true);
                     
          $output = trim($output);
                     
          $output = highlight_string("<?php " . $output, true);  // highlight_string() requires opening PHP tag or otherwise it will not colorize the text
                     
          $output = preg_replace("|\\<code\\>|", "<code style='background-color: #000000; padding: 10px; margin: 10px; display: block; font: 12px Consolas;'>", $output, 1);  // edit prefix
                     
          $output = preg_replace("|(\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>)(&lt;\\?php&nbsp;)(.*?)(\\</span\\>)|", "\$1\$3\$4", $output);  // remove custom added "<?php "
                     
          echo $output;
                  }
              } catch (
          Exception $e) {
                  echo
          $e->getMessage();
              }
          }

          // Debug multiple vars at once.
          $var1 = 'Example String';
          $var2 = 1987;
          $var3 = null;
          $var4 = true;
          $var5 = array('Array', '05', 05, false, null);

          hl_export( $var1, $var2, $var3, $var4, $var5 );
          ?>
          up
          0
          wm at tellinya dot com
          11 years ago
          I wanted to build a better function and exclude operators {}=- from keywords span class. I also wanted to link functions used in my PHP code directly to the PHP site.
          A lot more changes and tweaks have been made and the output is much better!

          Find the function here :
          http://www.tellinya.com/art2/262/highligh-php-syntax/
          and ditch the old PHP one permanently.
          Tested and built on PHP 5.2.0.

          Looking forward to any input.
          up
          0
          peter at int8 dot com
          13 years ago
          This hasn't been mentioned, but it appears that PHP opening and closing tags are required to be part of the code snippet.
          <?php highlight_string("<? \$var = 15; ?>"); ?>
          works, while
          <?php highlight_string("\$var = 15;"); ?>
          does not. This is unforunate for those of use who want to show tiny code snippets, but there you go. Earlier versions of this function did not have this requirement, if I remember correctly.
          up
          0
          vouksh at vouksh dot info
          13 years ago
          Fully working, XHTML 1.1 ready xhtml_highlight function. I included the stripslashes, because of some problems I had with out it. It should be safe to leave it in there, but if you experience problems, feel free to take it out.

          <?
          function xhtml_highlight($str) {
              $hlt = highlight_string(stripslashes($str), true);
              $fon = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $hlt);
              $ret = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $fon);
              echo $ret;
              return true;
          }
          ?>
          up
          0
          bpgordon at gmail dot com
          13 years ago
          On dleavitt AT ucsc DOT edu's comment:

          You might want to use md5($html_string) instead of "piggusmaloy" as a generally good programming practice. Just in case "piggusmaloy" is actually in $html_string.
          up
          0
          gaggge at gmail dot com
          14 years ago
          This is a little function for highlighting bbcode-stylish PHP code from a mysql database.
          (Like this: [php]<?php echo "test"; ?>[/php])

          <?php
          function bbcode($s)
          {
             
          $s = str_replace("]\n", "]", $s);
             
          $match = array('#\[php\](.*?)\[\/php\]#se');
             
          $replace = array("'<div>'.highlight_string(stripslashes('$1'), true).'</div>'");
              return
          preg_replace($match, $replace, $s);
          }
          ?>
          up
          -1
          Daniel
          11 years ago
          Well, Just a little something I wrote which highlights an HTML code...It'll be going through many changes in the next few days.... until then =) enjoy

          <?php
          /*************************************\
          CODE PANE 1.0 - SILVERWINGS - D. Suissa
          \*************************************/

          class HTMLcolorizer{
              private
          $pointer = 0; //Cursor position.
             
          private $content = null; //content of document.
             
          private $colorized = null;
              function
          __construct($content){
                 
          $this->content = $content;
              }
              function
          colorComment($position){
                 
          $buffer = "&lt;<span class='HTMLComment'>";
                  for(
          $position+=1;$position < strlen($this->content) && $this->content[$position] != ">" ;$position++){
                     
          $buffer.= $this->content[$position];
                  }
                 
          $buffer .= "</span>&gt;";
                 
          $this->colorized .= $buffer;
                  return
          $position;
              }
              function
          colorTag($position){
                 
          $buffer = "&lt;<span class='tagName'>";
                 
          $coloredTagName = false;
                 
          //As long as we're in the tag scope
                 
          for($position+=1;$position < strlen($this->content) && $this->content[$position] != ">" ;$position++){
                      if(
          $this->content[$position] == " " && !$coloredTagName){
                         
          $coloredTagName = true;
                         
          $buffer.="</span>";
                      }else if(
          $this->content[$position] != " " && $coloredTagName){
                         
          //Expect attribute
                         
          $attribute = "";
                         
          //While we're in the tag
                         
          for(;$position < strlen($this->content) && $this->content[$position] != ">" ;$position++){
                              if(
          $this->content[$position] != "="){
                                 
          $attribute .= $this->content[$position];
                              }else{
                                 
          $value="";
                                 
          $buffer .= "<span class='tagAttribute'>".$attribute."</span>=";
                                 
          $attribute = ""; //initialize it
                                 
          $inQuote = false;
                                 
          $QuoteType = null;
                                  for(
          $position+=1;$position < strlen($this->content) && $this->content[$position] != ">" && $this->content[$position] != " "  ;$position++){
                                      if(
          $this->content[$position] == '"' || $this->content[$position] == "'"){
                                         
          $inQuote = true;
                                         
          $QuoteType = $this->content[$position];
                                         
          $value.=$QuoteType;
                                         
          //Read Until next quotation mark.
                                         
          for($position+=1;$position < strlen($this->content) && $this->content[$position] != ">" && $this->content[$position] != $QuoteType  ;$position++){
                                             
          $value .= $this->content[$position];
                                          }   
                                         
          $value.=$QuoteType;
                                      }else{
          //No Quotation marks.
                                         
          $value .= $this->content[$position];
                                      }                           
                                  }
                                 
          $buffer .= "<span class='tagValue'>".$value."</span>";
                                  break;           
                              }
                             
                          }
                          if(
          $attribute != ""){$buffer.="<span class='tagAttribute'>".$attribute."</span>";}
                      }
                      if(
          $this->content[$position] == ">" ){break;}else{$buffer.= $this->content[$position];}
                     
                  }
                 
          //In case there were no attributes.
                 
          if($this->content[$position] == ">" && !$coloredTagName){
                     
          $buffer.="</span>&gt;";
                     
          $position++;
                  }
                 
          $this->colorized .= $buffer;
                  return --
          $position;
              }
              function
          colorize(){
                 
          $this->colorized="";
                 
          $inTag = false;
                  for(
          $pointer = 0;$pointer<strlen($this->content);$pointer++){
                     
          $thisChar = $this->content[$pointer];
                     
          $nextChar = $this->content[$pointer+1];
                      if(
          $thisChar == "<"){
                          if(
          $nextChar == "!"){
                             
          $pointer = $this->colorComment($pointer);
                          }else if(
          $nextChar == "?"){
                             
          //colorPHP();
                         
          }else{
                             
          $pointer = $this->colorTag($pointer);
                          }
                      }else{
                         
          $this->colorized .= $this->content[$pointer];
                      }
                  }
                  return
          $this->colorized;
              }
          }
          $curDocName = $_REQUEST['doc'];
          $docHandle = fopen($curDocName,"r");
          $docStrContent = fread($docHandle,filesize($curDocName));
          fclose($docHandle);
          $HTMLinspector = new HTMLcolorizer($docStrContent);
          $document = $HTMLinspector->colorize();
          ?>

          <html>
              <head>
                  <style type="text/css">
                  /**********************\
                   * MOZILLA FIREFOX STYLE
                  \**********************/
                  /*pre{font-family:Tahoma;font-size:px;}*/
                  .tagName{color:purple;}
                  .tagAttribute{color:red;}
                  .tagValue{color:blue;}
                  .HTMLComment{font-style:italic;color:green;}
                  </style>
              </head>
              <body>
              <?php
                 
          echo "<pre>".$document."</pre>";
             
          ?>
              </body>
          </html>
          up
          -1
          Mean^_^
          10 years ago
          [EDIT BY danbrown AT php DOT net: The following note contains a user-supplied version of a syntax highlighter.]

          <style type="text/css">
          .linenum{
              text-align:right;
              background:#FDECE1;
              border:1px solid #cc6666;
              padding:0px 1px 0px 1px;
              font-family:Courier New, Courier;
              float:left;
              width:17px;
              margin:3px 0px 30px 0px;
              }

          code    {/* safari/konq hack */
              font-family:Courier New, Courier;
          }

          .linetext{
              width:700px;
              text-align:left;
              background:white;
              border:1px solid #cc6666;
              border-left:0px;
              padding:0px 1px 0px 8px;
              font-family:Courier New, Courier;
              float:left;
              margin:3px 0px 30px 0px;
              }

          br.clear    {
              clear:both;
          }

          </style>
          <?php

          function printCode($code, $lines_number = 0)    {
                        
                   if (!
          is_array($code)) $codeE = explode("\n", $code);
                 
          $count_lines = count($codeE);
                 
                 
          $r1 = "Code:<br />";

                   if (
          $lines_number){           
                         
          $r1 .= "<div class=\"linenum\">";
                          foreach(
          $codeE as $line =>$c) {    
                              if(
          $count_lines=='1')
                                 
          $r1 .= "1<br>";
                              else
                                 
          $r1 .= ($line == ($count_lines - 1)) ? "" :  ($line+1)."<br />";
                           }
                          
          $r1 .= "</div>";
                   }

                  
          $r2 = "<div class=\"linetext\">";
                  
          $r2 .= highlight_string($code,1);
                  
          $r2 .= "</div>";

                 
          $r .= $r1.$r2;

                  echo
          "<div class=\"code\">".$r."</div>\n";
              }

             
          printCode('<?php echo "PHP Code" ?>    ',1);
          ?>

          by mean
          Share idea.
          good luck ^_^
          up
          -1
          Sam Wilson
          13 years ago
          manithu at fahr-zur-hoelle dot org forgot only one thing:  to fix the break tags.  The addidtion of the following should do it.

          <?php
          $str
          = str_replace("<br>", "<br />", $str);
          ?>
          up
          -1
          trixsey at animania dot nu
          14 years ago
          A neat function I made. Syntax coloring, row numbers, varying background colors per row in the table.

          <?
          function showCode($code) {
              $html = highlight_string($code, true);
              $html = str_replace("\n", "", $html);
              $rows = explode("<br />", $html);

              $row_num = array();
              $i = 1;

              foreach($rows as $row) {
                  if($i < 10) {
                      $i = "0".$i;
                  }

                  if($i==1) {
                      $row_num[] = "<tr><td><code><font color=\"#000000\"><code>$i</code></font>\t$row</code></td></tr>";
                  }

                  if($i!=1) {
                      if(is_int($i/2)) {
                          $row_num[] = "<tr bgcolor=\"#F9F9F9\"><td><code><font color=\"#000000\">$i</font>\t$row</code></td></tr>";
                      } else {
                          $row_num[] = "<tr><td><code><font color=\"#000000\">$i</font>\t$row</code></td></tr>";
                      }
                  }

                  $i++;
              }
              return "<pre>\nFilename: <b>$_GET[file]</b>\n<table
              style=\"border:1px #000000 solid\">".implode($row_num)."</table></pre>";
          }
          ?>
          up
          -1
          support at superhp dot de
          14 years ago
          With this function you can highlight php code with line numbers:

          <?php
          function highlight_php($string)
          {
           
          $Line = explode("\n",$string);

            for(
          $i=1;$i<=count($Line);$i++)
            {
             
          $line .= "&nbsp;".$i."&nbsp;<br>";
            }
             
           
          ob_start();
           
          highlight_string($string);
           
          $Code=ob_get_contents();
           
          ob_end_clean();
           
           
          $header='<table border="0" cellpadding="0" cellspacing="0" width="95%" style="border-style: solid; border-width:1px; border-color: white black black white">
              <tr>
                <td width="100%" colspan="2"  style="border-style: solid; border-width:1px; border-color: white; background-color: #99ccff; font-family:Arial; color:white; font-weight:bold;">Php-Code:</td>
              </tr>
              <tr>
                <td width="3%" valign="top" style="background-color: #99ccff; border-style: solid; border-width:1px; border-color: white;"><code>'
          .$line.'</code></td>
                <td width="97%" valign="top" style="background-color: white;"><div style="white-space: nowrap; overflow: auto;"><code>'
          ;

           
          $footer=$Code.'</div></code></td>
              </tr>
            </table>'
          ;

            return
          $header.$footer;
          }
          ?>
          up
          -2
          supremacy2k at gmail dot com
          12 years ago
          A simplification of functions vanessaschissato at gmail dot com at 17-Oct-2006 05:04.

          Since it had trouble keeping the code intact. (It removed /* )

          function showCode($code) {
          $code = highlight_string($code, true);
          $code = explode("<br />", $code);

          $i = "1";
          foreach ($code as $line => $syntax) {
            echo "<font color='black'>".$i."</font> ".$syntax."<br>";
            $i++;
          }
          }
          up
          -2
          tyler dot reed at brokeguysinc dot com
          12 years ago
          This is a little chunk of code that i use to show the source of a file, i took part of the idea from a example i found on another php function page.

          This code takes a php file and highlights it and places a line number next to it.  Great for on the fly debugging.

          <?php
          // Get a file into an array
          $lines = file('index.php');

          // Loop through our array, show HTML source as HTML source; and line numbers too.
          echo('<table border=0 cellpadding=0 cellspacing=0>');
          foreach (
          $lines as $line_num => $line) {
              echo(
          '<tr>');
              echo(
          '<td bgcolor = "#cccccc">');
              echo(
          '<code>' . ($line_num + 1) . '</code>');
              echo(
          '</td>');
              echo(
          '<td>');         
             
          highlight_string($line);
              echo(
          '</td>');
              echo(
          '</tr>');
          }

          ?>
          up
          -2
          zero
          13 years ago
          In some cases, I found that it's useful to have highlight_string format <code>...</code> inline as part of a paragraph, and other times, as a block for demonstrating multiple lines of code. I made this function to help out.

          <?php
             
          function highlight_code($code, $inline=false, $return=false) // Pre php 4 support for capturing highlight
             
          {
                  (string)
          $highlight = "";
                  if (
          version_compare(phpversion(), "4.2.0", "<") === 1 )
                  {
                     
          ob_start(); // start output buffering to capture contents of highlight
                     
          highlight_string($code);
                     
          $highlight = ob_get_contents(); // capture output
                     
          ob_end_clean(); // clear buffer cleanly
                 
          }
                  else
                  {
                     
          $highlight=highlight_string($data, true);
                  }
                 
                 
          ## The classes below need to correspond to a stylesheet!
                 
          if ( $inline === true )
                   
          $highlight=str_ireplace("<code>","<code class=\"inline\">",$highlight);
                  else
                   
          $highlight=str_ireplace("<code>","<code class=\"block\">",$highlight);
                     
                 
                  if (
          $return === true )
                  {
                      return
          $highlight;
                  }
                  else
                  {
                      echo
          $highlight;
                  }
              }
          ?>
          up
          -3
          joshuaeasy4u at gmail dot com
          5 years ago
          <?php
          function printCode($source_code)
          {
          if (
          is_array($source_code))
          return
          false;
          $source_code=explode("\n",str_replace(array("\r\n","\r"),"\n",$source_code));
          $line_count=1;
          foreach (
          $source_code as $code_line)
          {
          $formatted_code .='<tr><td>'.$line_count.'</td>';
          $line_count++;
          if (
          ereg('<\?(php)?[^[:graph:]]',$code_line))
          $formatted_code.='<td>'.str_replace(array('<code>','</code>'),'',highlight_string($code_line,true)).'</td></tr>';
          else
          $formatted_code .='<td>'.ereg_replace('(&lt;\?php&nbsp;)+','',str_replace(array('<code>','</code>'),'',highlight_string('<?php '.$code_line,true))).'</td></tr>';
          }
          return
          '<table style="font: 1em Consolas, \'andale mono\', \' monotype.com\', \'lucida console\', monospace;">'.$formatted_code.'</table>';
          }
          ?>
          up
          -5
          Dmitry S
          11 years ago
          The simple XML syntax highlighting.

          <?php
          function xml_highlight($s)
          {
              
          $s = preg_replace("|<[^/?](.*)\s(.*)>|isU","[1]<[2]\\1[/2] [5]\\2[/5]>[/1]",$s);
              
          $s = preg_replace("|</(.*)>|isU","[1]</[2]\\1[/2]>[/1]",$s);
              
          $s = preg_replace("|<\?(.*)\?>|isU","[3]<?\\1?>[/3]",$s);
              
          $s = preg_replace("|\=\"(.*)\"|isU","[6]=[/6][4]\"\\1\"[/4]",$s);
              
          $s = htmlspecialchars($s);
              
          $replace = array(1=>'0000FF', 2=>'808000', 3=>'800000', 4=>'FF00FF', 5=>'FF0000', 6=>'0000FF');
               foreach(
          $replace as $k=>$v)
               {
                   
          $s = preg_replace("|\[".$k."\](.*)\[/".$k."\]|isU","<font color=\"".$v."\">\\1</font>",$s);
               }
              return
          nl2br($s);
          }
          ?>

          備份地址:http://www.lvesu.com/blog/php/function.highlight-string.php

          国产成人午夜福利r在线观看_欧美性受xxxx孕妇_白丝娇喘过膝袜爽短裙调教_jizz jizz xxxx