HomePage <>**See also** - [[FormatterInfo | Explanation for users]] - [[http://wikkawiki.org/WantedFormatters | Wanted Wikka formatters]] - SyntaxHighlighter - GeSHi - WikkaGeshiIntegration >> ==What php-code is used?== - In the above example the "ini" formatter was selected, so the file ##formatters/ini.php## was included. - Within this script you have access to a variable $text, a string that contains the code, content of the block. - Within the formatter process ##$text## (mostly string manipulations) and print the result to ##stdout##. - note: the "##;line-number##" is for the moment only used in the GeSHi code. ==How do we get there?== - When you display a normal page, the default ##handlers/page/show.php## handler will call at some point ##$this->Format($this->page["body"], "wakka")## which includes the ##formatters/wakka.php## code. - Within ##formatters/wakka.php## the ""%%(formatter[;line-number]) code %%"" is detected and - In ##" else if (preg_match("/^%%(.*?)%%$/s", $thing, $matches)) "## a new call to ##$wakka->Format($code, $language);## is made. - ##$language = "ini"## in this example and ##$code## is our content (and will become ##$text##). ==Code examples== 1) ##preg_replace## patterns in ##$text##: ##formatters/ini.php## %%(php)\\1",$text); $text = preg_replace("/^([;#].+)$/m","\\1",$text); $text = preg_replace("/([^\d\w#;:>])([;#].+)$/m","\\2",$text); $text = preg_replace("/^(\[.*\])/m","\\1",$text); print "
".$text."
"; ?>%% 1) Do something with every line in the block: %%(php) $line){ if(preg_match("/^\s*$/",$line)) continue; // ignore empty lines // process $line here... } ?>%% ---- CategoryEN - CategoryReview