本文整理汇总了PHP中ParserOptions::getInterfaceMessage方法的典型用法代码示例。如果您正苦于以下问题:PHP ParserOptions::getInterfaceMessage方法的具体用法?PHP ParserOptions::getInterfaceMessage怎么用?PHP ParserOptions::getInterfaceMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParserOptions
的用法示例。
在下文中一共展示了ParserOptions::getInterfaceMessage方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getTargetLanguage
/**
* Get the target language for the content being parsed. This is usually the
* language that the content is in.
*
* @since 1.19
*
* @throws MWException
* @return Language|null
*/
public function getTargetLanguage()
{
$target = $this->mOptions->getTargetLanguage();
if ($target !== null) {
return $target;
} elseif ($this->mOptions->getInterfaceMessage()) {
return $this->mOptions->getUserLangObj();
} elseif (is_null($this->mTitle)) {
throw new MWException(__METHOD__ . ': $this->mTitle is null');
}
return $this->mTitle->getPageLanguage();
}
示例2: getFunctionLang
/**
* @return Language
*/
function getFunctionLang()
{
$target = $this->mOptions->getTargetLanguage();
if ($target !== null) {
return $target;
} elseif ($this->mOptions->getInterfaceMessage()) {
global $wgLang;
return $wgLang;
} elseif (is_null($this->mTitle)) {
throw new MWException(__METHOD__ . ': $this->mTitle is null');
}
return $this->mTitle->getPageLanguage();
}
示例3: internalParseHalfParsed
/**
* Helper function for parse() that transforms half-parsed HTML into fully
* parsed HTML.
*
* @param string $text
* @param bool $isMain
* @param bool $linestart
* @return string
*/
private function internalParseHalfParsed($text, $isMain = true, $linestart = true)
{
$text = $this->mStripState->unstripGeneral($text);
if ($isMain) {
Hooks::run('ParserAfterUnstrip', array(&$this, &$text));
}
# Clean up special characters, only run once, next-to-last before doBlockLevels
$fixtags = array('/(.) (?=\\?|:|;|!|%|\\302\\273)/' => '\\1 ', '/(\\302\\253) /' => '\\1 ', '/ (!\\s*important)/' => ' \\1');
$text = preg_replace(array_keys($fixtags), array_values($fixtags), $text);
$text = $this->doBlockLevels($text, $linestart);
$this->replaceLinkHolders($text);
/**
* The input doesn't get language converted if
* a) It's disabled
* b) Content isn't converted
* c) It's a conversion table
* d) it is an interface message (which is in the user language)
*/
if (!($this->mOptions->getDisableContentConversion() || isset($this->mDoubleUnderscores['nocontentconvert']))) {
if (!$this->mOptions->getInterfaceMessage()) {
# The position of the convert() call should not be changed. it
# assumes that the links are all replaced and the only thing left
# is the <nowiki> mark.
$text = $this->getConverterLanguage()->convert($text);
}
}
$text = $this->mStripState->unstripNoWiki($text);
if ($isMain) {
Hooks::run('ParserBeforeTidy', array(&$this, &$text));
}
$text = $this->replaceTransparentTags($text);
$text = $this->mStripState->unstripGeneral($text);
$text = Sanitizer::normalizeCharReferences($text);
if (MWTidy::isEnabled() && $this->mOptions->getTidy()) {
$text = MWTidy::tidy($text);
} else {
# attempt to sanitize at least some nesting problems
# (bug #2702 and quite a few others)
$tidyregs = array('/(<([bi])>)(<([bi])>)?([^<]*)(<\\/?a[^<]*>)([^<]*)(<\\/\\4>)?(<\\/\\2>)/' => '\\1\\3\\5\\8\\9\\6\\1\\3\\7\\8\\9', '/(<a[^>]+>)([^<]*)(<a[^>]+>[^<]*)<\\/a>(.*)<\\/a>/' => '\\1\\2</a>\\3</a>\\1\\4</a>', '/(<([aib]) [^>]+>)([^<]*)(<div([^>]*)>)(.*)(<\\/div>)([^<]*)(<\\/\\2>)/' => '\\1\\3<div\\5>\\6</div>\\8\\9', '/<([bi])><\\/\\1>/' => '');
$text = preg_replace(array_keys($tidyregs), array_values($tidyregs), $text);
}
if ($isMain) {
Hooks::run('ParserAfterTidy', array(&$this, &$text));
}
return $text;
}
示例4: getParserFor
/**
* Get Parser instance that's suitable for passing it to CoreParserFunctions
* in MessageCache::transform()
*
* @author Władysław Bodzek <wladek@wikia-inc.com>
*
* @param ParserOptions $popts
* @return Parser
*/
function getParserFor(ParserOptions $popts)
{
$interfaceMessage = $popts->getInterfaceMessage();
$userLanguage = $popts->getUserLang();
$hash = array();
foreach (array($interfaceMessage, $userLanguage) as $obj) {
if (is_object($obj)) {
$hash[] = get_class($obj);
} else {
$hash[] = serialize($obj);
}
}
$hash = implode('|', $hash);
if (!isset(self::$parsersCache[$hash])) {
if (count(self::$parsersCache) > 25) {
foreach (self::$parsersCache as $parser) {
ParserPool::release($parser);
}
}
$parser = ParserPool::get();
$parser->startExternalParse(new Title('DoesntExistXYZ'), $popts, Parser::OT_PREPROCESS, true);
self::$parsersCache[$hash] = $parser;
}
return self::$parsersCache[$hash];
}