[ Index ] |
|
Code source de Serendipity 1.2 |
1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4: */ 3 // +----------------------------------------------------------------------+ 4 // | PHP version 4 | 5 // +----------------------------------------------------------------------+ 6 // | Copyright (c) 1997-2003 The PHP Group | 7 // +----------------------------------------------------------------------+ 8 // | This source file is subject to version 2.0 of the PHP license, | 9 // | that is bundled with this package in the file LICENSE, and is | 10 // | available through the world-wide-web at | 11 // | http://www.php.net/license/2_02.txt. | 12 // | If you did not receive a copy of the PHP license and are unable to | 13 // | obtain it through the world-wide-web, please send a note to | 14 // | license@php.net so we can mail you a copy immediately. | 15 // +----------------------------------------------------------------------+ 16 // | Authors: Paul M. Jones <pmjones@ciaweb.net> | 17 // +----------------------------------------------------------------------+ 18 // 19 // $Id: heading.php,v 1.3 2004/12/02 10:54:32 nohn Exp $ 20 21 22 /** 23 * 24 * This class implements a Text_Wiki_Rule to find source text marked to 25 * be a heading element, as defined by text on a line by itself prefixed 26 * with a number of plus signs (+). The heading text itself is left in 27 * the source, but is prefixed and suffixed with delimited tokens marking 28 * the start and end of the heading. 29 * 30 * @author Paul M. Jones <pmjones@ciaweb.net> 31 * 32 * @package Text_Wiki 33 * 34 */ 35 36 class Text_Wiki_Rule_heading extends Text_Wiki_Rule { 37 38 39 /** 40 * 41 * The regular expression used to parse the source text and find 42 * matches conforming to this rule. Used by the parse() method. 43 * 44 * @access public 45 * 46 * @var string 47 * 48 * @see parse() 49 * 50 */ 51 52 var $regex = '/^(\+{1,6}) (.*)/m'; 53 54 55 /** 56 * 57 * Generates a replacement for the matched text. Token options are: 58 * 59 * 'type' => ['start'|'end'] The starting or ending point of the 60 * heading text. The text itself is left in the source. 61 * 62 * @access public 63 * 64 * @param array &$matches The array of matches from parse(). 65 * 66 * @return string A pair of delimited tokens to be used as a 67 * placeholder in the source text surrounding the heading text. 68 * 69 */ 70 71 function process(&$matches) 72 { 73 $start = $this->addToken( 74 array( 75 'type' => 'start', 76 'level' => strlen($matches[1]), 77 'text' => $matches[2] 78 ) 79 ); 80 81 $end = $this->addToken( 82 array( 83 'type' => 'end', 84 'level' => strlen($matches[1]) 85 ) 86 ); 87 88 return $start . $matches[2] . $end . "\n"; 89 } 90 91 92 /** 93 * 94 * Renders a token into text matching the requested format. 95 * 96 * @access public 97 * 98 * @param array $options The "options" portion of the token (second 99 * element). 100 * 101 * @return string The text rendered from the token options. 102 * 103 */ 104 105 function renderXhtml($options) 106 { 107 // get nice variable names (type, level) 108 extract($options); 109 110 if ($type == 'start') { 111 return "<h$level>"; 112 } 113 114 if ($type == 'end') { 115 return "</h$level>\n"; 116 } 117 } 118 } 119 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Nov 24 09:00:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |