本文整理匯總了PHP中ParserOptions::getMagicISBNLinks方法的典型用法代碼示例。如果您正苦於以下問題:PHP ParserOptions::getMagicISBNLinks方法的具體用法?PHP ParserOptions::getMagicISBNLinks怎麽用?PHP ParserOptions::getMagicISBNLinks使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ParserOptions
的用法示例。
在下文中一共展示了ParserOptions::getMagicISBNLinks方法的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];
}
}