From 57fdee899cc9ce333b1a27793feea5793f4be1b6 Mon Sep 17 00:00:00 2001 From: Zheng Zhu Date: Tue, 24 Jan 2006 18:36:45 +0000 Subject: [PATCH] Fix dependence on hardcoded UNIQ_PREFIX. --- includes/Parser.php | 9 +++++++++ languages/LanguageConverter.php | 13 +++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/includes/Parser.php b/includes/Parser.php index 97b18c6b5e..00d2d4eb28 100644 --- a/includes/Parser.php +++ b/includes/Parser.php @@ -157,6 +157,15 @@ class Parser wfRunHooks( 'ParserClearState', array( &$this ) ); } + /** + * Accessor for mUniqPrefix. + * + * @access public + */ + function UniqPrefix() { + return $this->mUniqPrefix; + } + /** * Convert wikitext to HTML * Do not call this function recursively. diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 7484af74dc..1992d7ef2d 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -135,8 +135,17 @@ class LanguageConverter { if(!in_array($toVariant, $this->mVariants)) return $text; - - $reg = '/<[^>]+>|&[a-z#][a-z0-9]+;|'.UNIQ_PREFIX.'-[a-zA-Z0-9]+/'; + /* we convert everything except: + 1. html markups (anything between < and >) + 2. html entities + 3. place holders created by the parser + */ + global $wgParser; + if (isset($wgParser)) + $marker = '|' . $wgParser->UniqPrefix() . '[\-a-zA-Z0-9]+'; + else + $marker = ""; + $reg = '/<[^>]+>|&[a-z#][a-z0-9]+;' . $marker . '/'; $matches = preg_split($reg, $text, -1, PREG_SPLIT_OFFSET_CAPTURE); -- 2.20.1