From 9937b8e6d6a8b4517c04c143daaf9ebd42ce8ba0 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 3 Jan 2014 23:05:29 +0100 Subject: Make MagicWordArray compatible with PCRE 8.34+ See https://git.wikimedia.org/commit/mediawiki%2Fcore.git/b9f291e8cd5bb1450f7b1031aa17cf7775aa7e96 --- includes/MagicWord.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'includes') diff --git a/includes/MagicWord.php b/includes/MagicWord.php index 427a1adc..232f43e8 100644 --- a/includes/MagicWord.php +++ b/includes/MagicWord.php @@ -709,7 +709,9 @@ class MagicWordArray { $magic = MagicWord::get( $name ); $case = intval( $magic->isCaseSensitive() ); foreach ( $magic->getSynonyms() as $i => $syn ) { - $group = "(?P<{$i}_{$name}>" . preg_quote( $syn, '/' ) . ')'; + // Group name must start with a non-digit in PCRE 8.34+ + $it = strtr( $i, '0123456789', 'abcdefghij' ); + $group = "(?P<{$it}_{$name}>" . preg_quote( $syn, '/' ) . ')'; if ( $this->baseRegex[$case] === '' ) { $this->baseRegex[$case] = $group; } else { -- cgit v1.2.2