"); SDV($McatBlockEnd, ""); SDV($McatCSSStyle, " div.category { border: 1px solid #666; padding: 0.5em; background-color: #EEE; }; "); Markup('multicat','fulltext','[[!', 'return Multicat($x);'); #Markup('multicat','fulltext','[[Category:', 'return Multicat($x);'); $mcategories = array(); function Multicat($t) { global $McatLabelS, $McatLabelP, $McatSep; global $McatBlockStart, $McatBlockEnd; global $HTMLStylesFmt, $McatCSSStyle; global $mcategories; $t = preg_replace_callback( '/(\[\[(Category:|!).*?\]\])/mx', '_MulticatCallback', $t ); sort($mcategories); $label = (count($mcategories) > 1) ? $McatLabelP : $McatLabelS; $input = implode($McatSep, $mcategories); $HTMLStylesFmt[] = $McatCSSStyle; $mcats = "$McatBlockStart $label $input $McatBlockEnd"; $t .= $mcats; return $t; } function _MulticatCallback($m) { global $CategoryGroup, $mcategories; $cat = preg_replace('/(Category:|!)/',"$CategoryGroup/",$m[1]); $mcategories[] = $cat; return ''; }