From: Liangent Date: Sun, 15 Sep 2013 18:11:44 +0000 (-0400) Subject: Don't match HTML entities in language conversion syntax X-Git-Tag: 1.31.0-rc.0~18459^2 X-Git-Url: http://git.cyclocoop.org/%22.%24h.%22?a=commitdiff_plain;h=325632162cfac3e71eff828af57952a13c580ab0;p=lhc%2Fweb%2Fwiklou.git Don't match HTML entities in language conversion syntax RegEx provided by Gabriel Wicke. Change-Id: Idca127acc6f4cdc159ee85d5f816a5d120cbe44e --- diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 79ddb6ac86..ccf9b1e06a 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -1263,7 +1263,10 @@ class ConverterRule { $variants = $this->mConverter->mVariants; $varsep_pattern = $this->mConverter->getVarSeparatorPattern(); + // Split according to $varsep_pattern, but ignore semicolons from HTML entities + $rules = preg_replace( '/(&[#a-zA-Z0-9]+);/', "$1\x01", $rules ); $choice = preg_split( $varsep_pattern, $rules ); + $choice = str_replace( "\x01", ';', $choice ); foreach ( $choice as $c ) { $v = explode( ':', $c, 2 );