|
// +----------------------------------------------------------------------+
//
// $Id: phpcode.php,v 1.3 2004/12/02 10:54:32 nohn Exp $
/**
*
* This class implements a Text_Wiki_Rule to find sections marked as code
* examples. Blocks are marked as the string on a line by itself,
* followed by the inline code example, and terminated with the string
*
on a line by itself. The code example is run through the
* native PHP highlight_string() function to colorize it, then surrounded
* with
...tags when rendered as XHTML. * * @author Paul M. Jones
tags.
*
* @access public
*
* @param array &$matches The array of matches from parse().
*
* @return A delimited token number to be used as a placeholder in
* the source text.
*
*/
function process(&$matches)
{
$options = array('text' => $matches[2]);
return $this->addToken($options) . $matches[4];
}
/**
*
* Renders a token into text matching the requested format.
*
* @access public
*
* @param array $options The "options" portion of the token (second
* element).
*
* @return string The text rendered from the token options.
*
*/
function renderXhtml($options)
{
// add the PHP tags
$text = ""; // ... tags)
ob_start();
highlight_string($text);
$text = ob_get_contents();
ob_end_clean();
// replace $text\n"; } } ?>