Merge "Disable expensive {{REVISIONID}} magic word in miser mode"
[lhc/web/wiklou.git] / languages / classes / LanguageSr.php
index 6491f55..0ad7860 100644 (file)
@@ -115,7 +115,8 @@ class SrConverter extends LanguageConverter {
                $breaks = '[^\w\x80-\xff]';
 
                // regexp for roman numbers
-               $roman = 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})';
+               // Lookahead assertion ensures $roman doesn't match the empty string
+               $roman = '(?=[MDCLXVI])M{0,4}(C[DM]|D?C{0,3})(X[LC]|L?X{0,3})(I[VX]|V?I{0,3})';
 
                $reg = '/^' . $roman . '$|^' . $roman . $breaks . '|' . $breaks
                        . $roman . '$|' . $breaks . $roman . $breaks . '/';
@@ -131,7 +132,7 @@ class SrConverter extends LanguageConverter {
                $ret = $this->mTables[$toVariant]->replace( $m[0] );
                $mstart = $m[1] + strlen( $m[0] );
                foreach ( $matches as $m ) {
-                       $ret .= substr( $text, $mstart, $m[1] -$mstart );
+                       $ret .= substr( $text, $mstart, $m[1] - $mstart );
                        $ret .= parent::translate( $m[0], $toVariant );
                        $mstart = $m[1] + strlen( $m[0] );
                }