summaryrefslogtreecommitdiff
path: root/includes/parser/StripState.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/parser/StripState.php')
-rw-r--r--includes/parser/StripState.php7
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;
}
/**