public static function pwTagSection( $input, array $args, Parser $parser, PPFrame $frame ){ //First, process the arguments foreach( $args as $argn => $argv_raw ){ $argv = htmlspecialchars( $argv_raw ); switch( htmlspecialchars( $argn ) ){ case 'notitle': $notitle = true; case 'title': $title = $argv; break; case 'header': $headerlevel = (int) $argv; break; case 'foldable': if( $argv == 'true' ) $foldable = true; break; case 'name': $name = $argv; default: break; } } //Catch omitted parameters //TODO: Catch malformed parameters if( !isset($notitle) ) $notitle = false; if( !isset($title) && !$notitle ) $title = "Section"; if( !isset($headerlevel) ) $headerlevel = 2; if( !isset($foldable) ) $foldable = false; if( !isset($name) ) $name = ""; //Start building output $out = ""; //Put up a section title if desired if( !$notitle ){ //Create =s $header = ""; for( $i = 1; $i <= $headerlevel; $i++ ){ $header.= "="; } //Append title $out.= $header . " "; $out.= $title; $out.= " " . $header . "\n"; } //Append actual content $out.= $input; //Return the result //$out_tmp = $parser->recursiveTagParse( $out, $frame ); //var_dump($out_tmp); return $parser->insertStripItem( $parser->recursiveTagParse( $out, $frame ), $parser->mStripState ); //return array( $out , 'noparse' => false ); }