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


PHP Parser::setTitle方法代码示例

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


在下文中一共展示了Parser::setTitle方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setUp

 /** setup a basic parser object */
 protected function setUp()
 {
     parent::setUp();
     $contLang = Language::factory('en');
     $this->setMwGlobals(array('wgLanguageCode' => 'en', 'wgContLang' => $contLang));
     $this->testParser = new Parser();
     $this->testParser->Options(ParserOptions::newFromUserAndLang(new User(), $contLang));
     # initialize parser output
     $this->testParser->clearState();
     # Needs a title to do magic word stuff
     $title = Title::newFromText('Tests');
     $title->mRedirect = false;
     # Else it needs a db connection just to check if it's a redirect (when deciding the page language)
     $this->testParser->setTitle($title);
 }
开发者ID:biribogos,项目名称:wikihow-src,代码行数:16,代码来源:MagicVariableTest.php

示例2: setUp

 function setUp()
 {
     global $wgTitle, $wgParser;
     $wgParser = new Parser();
     $wgParser->Options(new ParserOptions());
     $wgParser->clearState();
     $wgParser->setTitle($wgTitle);
 }
开发者ID:realsoc,项目名称:mediawiki-extensions,代码行数:8,代码来源:DataTransclusionTest.php

示例3: testRender

 /**
  * @dataProvider parametersProvider
  * @since 2.0
  * @param array $parameters
  */
 public function testRender(array $parameters)
 {
     $parserHook = $this->getInstance();
     $parser = new \Parser();
     $parser->mOptions = new \ParserOptions();
     $parser->clearState();
     $parser->setTitle(\Title::newMainPage());
     $renderResult = $parserHook->renderTag(null, $parameters, $parser);
     $this->assertInternalType('string', $renderResult);
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:15,代码来源:ParserHookTest.php

示例4: testRender

 /**
  * Triggers the render process with different sets of parameters to see if
  * no errors or notices are thrown and the result indeed is a string.
  *
  * @dataProvider parametersProvider
  * @since 2.0
  * @param array $parameters
  * @param string|null $expected
  */
 public function testRender(array $parameters, $expected = null)
 {
     $parserHook = $this->getInstance();
     $parser = new \Parser();
     $parser->mOptions = new \ParserOptions();
     $parser->clearState();
     $parser->setTitle(\Title::newMainPage());
     $renderResult = call_user_func_array(array($parserHook, 'renderFunction'), array_merge(array(&$parser), $parameters));
     if (is_string($renderResult)) {
         $this->assertTrue(true);
     } else {
         $this->assertInternalType('array', $renderResult);
         $this->assertInternalType('string', $renderResult[0]);
     }
     if ($expected !== null) {
         $this->assertEquals($expected, $renderResult[0]);
     }
 }
开发者ID:gwdgithubnom,项目名称:Maps,代码行数:27,代码来源:ParserHookTest.php

示例5: meaneditor_wiki2html

function meaneditor_wiki2html($article, $user, &$edit_context, &$wiki_text)
{
    global $wgUploadPath, $wgArticlePath;
    wfLoadExtensionMessages('MeanEditor');
    $meaneditor_page_src = str_replace('$1', '', $wgArticlePath);
    # Detect code sections (lines beginning with whitespace)
    if (preg_match('/^[ \\t]/m', $wiki_text)) {
        return deny_visual_because_of(wfMsg('reason_whitespace'), $edit_context);
    }
    # Detect custom tags: only <br />, super/sub-scripts and references are supported at the moment
    # TODO: expand the safe list
    # Especially problematic tags (do not even think about supporting them):
    #      <p>  (would require special handling to disable normal paragraphing, confusing)
    #      <h*> (for headings not in TOC, strange closing tag)
    #      <b>,<i> (not to be confused with ''emphasis'' as <em>)
    #      <pre>, <nowiki> (if something gets implemented, better be the common leading spaces)
    $wiki_text = str_replace('<br />', '__TEMP__TEMP__br', $wiki_text);
    $wiki_text = str_replace('<br>', '__TEMP__TEMP__br', $wiki_text);
    $wiki_text = str_replace('<references />', '__TEMP__TEMP__allreferences', $wiki_text);
    $wiki_text = str_replace('<ref>', '__TEMP__TEMP__ref', $wiki_text);
    $wiki_text = str_replace('</ref>', '__TEMP__TEMP__cref', $wiki_text);
    $wiki_text = str_replace('<sup>', '__TEMP__TEMP__sup', $wiki_text);
    $wiki_text = str_replace('</sup>', '__TEMP__TEMP__csup', $wiki_text);
    $wiki_text = str_replace('<sub>', '__TEMP__TEMP__sub', $wiki_text);
    $wiki_text = str_replace('</sub>', '__TEMP__TEMP__csub', $wiki_text);
    if (!(strpos($wiki_text, '<') === FALSE && strpos($wiki_text, '>') === FALSE)) {
        return deny_visual_because_of(wfMsg('reason_tag'), $edit_context);
    }
    $wiki_text = str_replace('__TEMP__TEMP__br', '<br />', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__allreferences', 'references_here', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__sup', '<sup>', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__csup', '</sup>', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__sub', '<sub>', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__csub', '</sub>', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__ref', '<ref>', $wiki_text);
    $wiki_text = str_replace('__TEMP__TEMP__cref', '</ref>', $wiki_text);
    # This characters are problematic only at line beginning
    $unwanted_chars_at_beginning = array(':', ';');
    foreach ($unwanted_chars_at_beginning as $uc) {
        if (preg_match('/^' . $uc . '/m', $wiki_text)) {
            return deny_visual_because_of(wfMsg('reason_indent', $uc), $edit_context);
        }
    }
    # <hr>, from Parser.php... TODO: other regexps can be directly stolen from there
    $wiki_text = preg_replace('/(^|\\n)-----*/', '\\1<hr />', $wiki_text);
    #Collapse multiple newlines
    # TODO: Compare Wikipedia:Don't_use_line_breaks
    $wiki_text = preg_replace("/\n\n+/", "\n\n", $wiki_text);
    $wiki_text = preg_replace('/^(.+?)$/m', '<p>$1</p>', $wiki_text);
    #$wiki_text=preg_replace('/\'\'\'(.*?)\'\'\'/','<strong>$1</strong>',$wiki_text);
    #$wiki_text=preg_replace('/\'\'(.*?)\'\'/','<em>$1</em>',$wiki_text);
    $obp = new Parser();
    $obp->clearState();
    $obp->setTitle('');
    $obp->mOptions = new ParserOptions();
    $wiki_text = $obp->doAllQuotes($wiki_text);
    #Substitute ===
    $wiki_text = preg_replace('/(?:<p>|)\\s*===(.*?)===\\s*(?:<\\/p>|)/', '<h3>\\1</h3>', $wiki_text);
    #Substitute ==
    $wiki_text = preg_replace('/(?:<p>|)\\s*==(.*?)==\\s*(?:<\\/p>|)/', '<h2>\\1</h2>', $wiki_text);
    #Substitute [[Image:a]]
    #FIXME: do not require $wgHashedUploadDirectory	= false
    $wiki_text = preg_replace('/\\[\\[Image:(.*?)\\]\\]/', '<img alt="\\1" src="' . $wgUploadPath . '/\\1" />', $wiki_text);
    #Create [[a|b]] syntax for every link
    #TODO: What to do for the [[word (detailed disambiguation)|]] 'pipe trick'?
    $wiki_text = preg_replace('/\\[\\[([^|]*?)\\]\\]/', '[[\\1|\\1]]', $wiki_text);
    #Substitute [[ syntax (internal links)
    if (preg_match('/\\[\\[([^|\\]]*?):(.*?)\\|(.*?)\\]\\]/', $wiki_text, $unwanted_matches)) {
        return deny_visual_because_of(wfMsg('reason_special_link', $unwanted_matches[0]), $edit_context);
    }
    #Preserve #section links from the draconic feature detection
    $wiki_text = preg_replace_callback('/\\[\\[(.*?)\\|(.*?)\\]\\]/', create_function('$matches', 'return "[[".str_replace("#","__TEMP_MEAN_hash",$matches[1])."|".str_replace("#","__TEMP_MEAN_hash",$matches[2])."]]";'), $wiki_text);
    $wiki_text = preg_replace_callback('/<a href="(.*?)">/', create_function('$matches', 'return "<a href=\\"".str_replace("#","__TEMP_MEAN_hash",$matches[1])."\\">";'), $wiki_text);
    $wiki_text = preg_replace('/\\[\\[(.*?)\\|(.*?)\\]\\]/', '<a href="' . $meaneditor_page_src . '\\1">\\2</a>', $wiki_text);
    #Create [a b] syntax for every link
    #(must be here, so that internal links have already been replaced)
    $wiki_text = preg_replace('/\\[([^| ]*?)\\]/', '[\\1 _autonumber_]', $wiki_text);
    #Substitute [ syntax (external links)
    $wiki_text = preg_replace('/\\[(.*?) (.*?)\\]/', '<a href="\\1">\\2</a>', $wiki_text);
    #Lists support
    $wiki_text = preg_replace("/<p># (.*?)<\\/p>/", '<ol><li>\\1</li></ol>', $wiki_text);
    $wiki_text = preg_replace("/<p>\\* (.*?)<\\/p>/", '<ul><li>\\1</li></ul>', $wiki_text);
    $wiki_text = preg_replace("/<\\/ol>\n<ol>/", "\n", $wiki_text);
    $wiki_text = preg_replace("/<\\/ul>\n<ul>/", "\n", $wiki_text);
    # Crude but safe detection of unsupported features
    # In the future, this could be loosened a lot, should also detect harmless uses
    # TODO: Compare with MediaWiki security policy, ensure no mediawiki code can create unsafe HTML in the editor
    # Allow numbered entities, these occur far too often and should be innocous
    $wiki_text = str_replace('&#', '__TEMP__MEAN__nument', $wiki_text);
    $unwanted_chars = array('[', ']', '|', '{', '}', '#', '*');
    foreach ($unwanted_chars as $uc) {
        if (!($unwanted_match = strpos($wiki_text, $uc) === FALSE)) {
            return deny_visual_because_of(wfMsg('reason_forbidden_char', $uc), $edit_context);
        }
    }
    # Restore numbered entities
    $wiki_text = str_replace('__TEMP__MEAN__nument', '&#', $wiki_text);
    #<ref> support
    global $refs_div;
    global $refs_num;
//.........这里部分代码省略.........
开发者ID:erpel,项目名称:meaneditor,代码行数:101,代码来源:MeanEditor.php

示例6: unsetApproval

 /**
  * Unsets the approved revision for this page in the approved_revs DB
  * table; calls a "links update" on this page so that category
  * information can be stored correctly, as well as info for
  * extensions such as Semantic MediaWiki; and logs the action.
  */
 public static function unsetApproval($title)
 {
     global $egApprovedRevsBlankIfUnapproved;
     self::deleteRevisionApproval($title);
     $parser = new Parser();
     $parser->setTitle($title);
     if ($egApprovedRevsBlankIfUnapproved) {
         $text = '';
     } else {
         $text = self::getPageText($title);
     }
     $options = new ParserOptions();
     $parser->parse($text, $title, $options);
     $u = new LinksUpdate($title, $parser->getOutput());
     $u->doUpdate();
     self::setPageSearchText($title, $text);
     $log = new LogPage('approval');
     $log->addEntry('unapprove', $title, '');
     wfRunHooks('ApprovedRevsRevisionUnapproved', array($parser, $title));
 }
开发者ID:whysasse,项目名称:kmwiki,代码行数:26,代码来源:ApprovedRevs_body.php

示例7: unsetApprovedFileInDB

 public static function unsetApprovedFileInDB($title)
 {
     $parser = new Parser();
     $parser->setTitle($title);
     $fileTitle = $title->getDBkey();
     $dbr = wfGetDB(DB_MASTER);
     $dbr->delete('approved_revs_files', array('file_title' => $fileTitle));
     // the unapprove page method had LinksUpdate and Parser objects here, but the page text has
     // not changed at all with a file approval, so I don't think those are necessary.
     $log = new LogPage('approval');
     $log->addEntry('unapprove', $title, '');
     wfRunHooks('ApprovedRevsFileRevisionUnapproved', array($parser, $title));
 }
开发者ID:emanspeaks,项目名称:ApprovedRevs,代码行数:13,代码来源:ApprovedRevs_body.php

示例8: drawDiagram

function drawDiagram(Parser $parser, PPFrame $frame)
{
    global $wgTitle;
    $sumEditing = 0;
    $pagesList = CDParameters::getInstance()->getPagesList();
    $pageWithChanges = array();
    foreach ($pagesList as $thisPageTitle) {
        $names = getPageEditorsFromDb($thisPageTitle);
        $changesForUsersForPage = getCountsOfEditing($names);
        $thisPageTitleKey = $thisPageTitle->getText();
        if ($thisPageTitle->getNsText() != "") {
            $thisPageTitleKey = $thisPageTitle->getNsText() . ":" . $thisPageTitleKey;
            // we can't use Title object this is a key with an array so we generate the Ns:Name key
        }
        $pageWithChanges[$thisPageTitleKey] = $changesForUsersForPage;
        $sumEditing += evaluateCountOfAllEdits($changesForUsersForPage);
    }
    $text = drawPreamble();
    foreach ($pageWithChanges as $thisPageTitleKey => $changesForUsersForPage) {
        $drawer = CDDrawerFactory::getDrawer($changesForUsersForPage, $sumEditing, $thisPageTitleKey);
        $text .= $drawer->draw();
    }
    $text .= "}</graphviz>";
    // $text = getPie($changesForUsers, $sumEditing, $thisPageTitle);
    $parser->disableCache();
    $parser->setTitle(Title::newFromText("Main_page"));
    $frame->getTitle(Title::newFromText("Main_page"));
    $text = $parser->recursiveTagParse($text, $frame);
    //this stuff just render my page
    return $text;
}
开发者ID:mediawiki-extensions,项目名称:collaborationgraph,代码行数:31,代码来源:CollaborationDiagram.php


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