From 3e4278aafe3920ebcd672950fbd92dbede591355 Mon Sep 17 00:00:00 2001 From: Philip Tzou Date: Thu, 5 Mar 2009 02:44:58 +0000 Subject: [PATCH] varsep split pattern improve for unidirectional conversion. (LanguageConverter.php) --- languages/LanguageConverter.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 10105fe202..3be46f9043 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -1013,11 +1013,15 @@ class ConverterRule { // [2] => '' // ) $varsep_pattern = '/' . $markup['varsep'] . '\s*' . '(?='; - foreach( $variants as $variant ) - $varsep_pattern .= $variant . '\s*' . $markup['codesep'] . '|'; + foreach( $variants as $variant ) { + $varsep_pattern .= $variant . '\s*' . $markup['codesep'] . '|'; // zh-hans:xxx;zh-hant:yyy + $varsep_pattern .= '[^;]*?' . $markup['unidsep'] . '\s*' . $variant + . '\s*' . $markup['codesep'] . '|'; // xxx=>zh-hans:yyy; xxx=>zh-hant:zzz + } $varsep_pattern .= '\s*$)/'; $choice = preg_split($varsep_pattern, $rules); + foreach( $choice as $c ) { $v = explode($markup['codesep'], $c, 2); if( count($v) != 2 ) -- 2.20.1