diff options
Diffstat (limited to 'includes/parser/StripState.php')
-rw-r--r-- | includes/parser/StripState.php | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/includes/parser/StripState.php b/includes/parser/StripState.php index c7bd1e77..357dc2c8 100644 --- a/includes/parser/StripState.php +++ b/includes/parser/StripState.php @@ -90,10 +90,13 @@ class StripState { wfProfileIn( __METHOD__ ); $this->tempType = $type; - $out = preg_replace_callback( $this->regex, array( $this, 'unstripCallback' ), $text ); + do { + $oldText = $text; + $text = preg_replace_callback( $this->regex, array( $this, 'unstripCallback' ), $text ); + } while ( $text !== $oldText ); $this->tempType = null; wfProfileOut( __METHOD__ ); - return $out; + return $text; } /** |