本文整理汇总了PHP中ParserOptions::getMagicPMIDLinks方法的典型用法代码示例。如果您正苦于以下问题:PHP ParserOptions::getMagicPMIDLinks方法的具体用法?PHP ParserOptions::getMagicPMIDLinks怎么用?PHP ParserOptions::getMagicPMIDLinks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParserOptions
的用法示例。
在下文中一共展示了ParserOptions::getMagicPMIDLinks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: magicLinkCallback
/**
* @throws MWException
* @param array $m
* @return HTML|string
*/
public function magicLinkCallback($m)
{
if (isset($m[1]) && $m[1] !== '') {
# Skip anchor
return $m[0];
} elseif (isset($m[2]) && $m[2] !== '') {
# Skip HTML element
return $m[0];
} elseif (isset($m[3]) && $m[3] !== '') {
# Free external link
return $this->makeFreeExternalLink($m[0], strlen($m[4]));
} elseif (isset($m[5]) && $m[5] !== '') {
# RFC or PMID
if (substr($m[0], 0, 3) === 'RFC') {
if (!$this->mOptions->getMagicRFCLinks()) {
return $m[0];
}
$keyword = 'RFC';
$urlmsg = 'rfcurl';
$cssClass = 'mw-magiclink-rfc';
$id = $m[5];
} elseif (substr($m[0], 0, 4) === 'PMID') {
if (!$this->mOptions->getMagicPMIDLinks()) {
return $m[0];
}
$keyword = 'PMID';
$urlmsg = 'pubmedurl';
$cssClass = 'mw-magiclink-pmid';
$id = $m[5];
} else {
throw new MWException(__METHOD__ . ': unrecognised match type "' . substr($m[0], 0, 20) . '"');
}
$url = wfMessage($urlmsg, $id)->inContentLanguage()->text();
return Linker::makeExternalLink($url, "{$keyword} {$id}", true, $cssClass, [], $this->mTitle);
} elseif (isset($m[6]) && $m[6] !== '' && $this->mOptions->getMagicISBNLinks()) {
# ISBN
$isbn = $m[6];
$space = self::SPACE_NOT_NL;
# non-newline space
$isbn = preg_replace("/{$space}/", ' ', $isbn);
$num = strtr($isbn, ['-' => '', ' ' => '', 'x' => 'X']);
return $this->getLinkRenderer()->makeKnownLink(SpecialPage::getTitleFor('Booksources', $num), "ISBN {$isbn}", ['class' => 'internal mw-magiclink-isbn', 'title' => false]);
} else {
return $m[0];
}
}