<sxh php; first-line: 70; highlight: [89,92,72]; title: New title attribute in action>

  public function render($mode, &$renderer, $data) {

if($mode != 'xhtml') return false;

if (count($data) == 3) {

          list($syntax, $attr, $content) = $data;
          if ($syntax == 'sxh') {
              // Check if there's a title in the attribute string. It can't be passed along as a normal parameter to SyntaxHighlighter.
              if (preg_match("/title:/i", $attr)) {
                  // Extract title(s) from attribute string.
                  $attr_array = explode(";",$attr);
                  $title_array = preg_grep("/title:/i", $attr_array);
                  // Extract everything BUT title(s) from attribute string.
                  $not_title_array =  preg_grep("/title:/i", $attr_array, PREG_GREP_INVERT);
                  $attr = implode(";",$not_title_array);
                  // If there are several titles, use the last one.
                  $title = array_pop($title_array);
                  $title = preg_replace("/.*title:\s{0,}(.*)/i","$1",$title);
                  // Add title as an attribute to the <pre /> tag.
                  $renderer->doc .= "<pre class=\"brush: ".$attr."\" title=\"".$title."\">".$renderer->_xmlEntities($content)."</pre>";
              } else {
                  // No title detected, pass all attributes as parameters to SyntaxHighlighter.
                  $renderer->doc .= "<pre class=\"brush: ".$attr."\">".$renderer->_xmlEntities($content)."</pre>";
              }
           } else {
              $renderer->file($content);
          }
      }

return true;

  }

</sxh>