当前位置: 首页>>代码示例>>PHP>>正文


PHP ParserOptions::getMagicRFCLinks方法代码示例

本文整理汇总了PHP中ParserOptions::getMagicRFCLinks方法的典型用法代码示例。如果您正苦于以下问题:PHP ParserOptions::getMagicRFCLinks方法的具体用法?PHP ParserOptions::getMagicRFCLinks怎么用?PHP ParserOptions::getMagicRFCLinks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ParserOptions的用法示例。


在下文中一共展示了ParserOptions::getMagicRFCLinks方法的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];
     }
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:51,代码来源:Parser.php


注:本文中的ParserOptions::getMagicRFCLinks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。