Index: MediaWiki/trunk/extensions/FCKeditor/FCKeditorParser.body.php
===================================================================
--- MediaWiki/trunk/extensions/FCKeditor/FCKeditorParser.body.php	(revision 604)
+++ MediaWiki/trunk/extensions/FCKeditor/FCKeditorParser.body.php	(revision 609)
@@ -4,5 +4,6 @@
 {
     public static $fkc_mw_makeImage_options;
-    
+    protected $fck_mw_strtr_span;
+
     private $FCKeditorMagicWords = array(
     '__NOTOC__',
@@ -82,6 +83,8 @@
                 }
                 else if ($sum == 0) {
-                    $stringToParse .= 'fck_mw_template_strtr'.$i;
-                    $strtr_span['fck_mw_template_strtr'.$i] = '<span class="fck_mw_template">'.htmlspecialchars(strtr(substr($text, $startingPos, $pos - $startingPos + 19), $strtr)).'</span>';
+                    $stringToParse .= 'Fckmw'.$i.'fckmw';
+                    $inner = htmlspecialchars(strtr(substr($text, $startingPos, $pos - $startingPos + 19), $strtr));
+                    $this->fck_mw_strtr_span['href="Fckmw'.$i.'fckmw"'] = 'href="'.$inner.'"';
+                    $this->fck_mw_strtr_span['Fckmw'.$i.'fckmw'] = '<span class="fck_mw_template">'.$inner.'</span>';
                     $startingPos = $pos + 19;
                     $i++;
@@ -90,8 +93,6 @@
             }
             $stringToParse .= substr($text, $startingPos);
+
             $finalString = parent::internalParse($stringToParse);
-            if (!empty($strtr_span)) {
-                $finalString = strtr($finalString, $strtr_span);
-            }
         } else {
             $finalString = parent::internalParse($text);
@@ -122,4 +123,7 @@
     function strip( $text, $state, $stripcomments = false , $dontstrip = array () ) {
         $dontstrip[] = "gallery";
+        //$dontstrip[] = "nowiki";
+        //$dontstrip[] = "noinclude";
+        //$dontstrip[] = "includeonly";
 
         return parent::strip($text, $state, $stripcomments , $dontstrip );
@@ -134,8 +138,8 @@
     function ref( $str, $argv, $parser ) {
         if (empty($argv)) {
-			$ret = "<span class=\"fck_mw_ref\">";
-        }
-        else {
-			$ret = "<span class=\"fck_mw_ref\"";
+            $ret = "<span class=\"fck_mw_ref\">";
+        }
+        else {
+            $ret = "<span class=\"fck_mw_ref\"";
             foreach ($argv as $key=>$value) {
                 $ret .= " ".$key."=\"".$value."\"";
@@ -161,8 +165,8 @@
     function references( $str, $argv, $parser ) {
         if (empty($argv)) {
-			$ret = "<span class=\"fck_mw_references\">";
-        }
-        else {
-			$ret = "<span class=\"fck_mw_references\"";
+            $ret = "<span class=\"fck_mw_references\">";
+        }
+        else {
+            $ret = "<span class=\"fck_mw_references\"";
             foreach ($argv as $key=>$value) {
                 $ret .= " ".$key."=\"".$value."\"";
@@ -183,5 +187,5 @@
     function parse( $text, &$title, $options, $linestart = true, $clearState = true, $revid = null ) {
         $parserOutput = parent::parse($text, &$title, $options, $linestart , $clearState , $revid );
-        
+
         $categories = $parserOutput->getCategories();
         if ($categories) {
@@ -191,9 +195,13 @@
             }
             $parserOutput->setText($parserOutput->getText() . $appendString);
-        }                
-        
+        }
+
+        if (!empty($this->fck_mw_strtr_span)) {
+            $parserOutput->setText(strtr($parserOutput->getText(), $this->fck_mw_strtr_span));
+        }
+
         return $parserOutput;
     }
-    
+
     /*
     function replaceVariables( $text, $args = array(), $argsOnly = false ) {
