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


PHP GeSHi::enable_classes方法代码示例

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


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

示例1: main

 /**
  * The main method of the Plugin
  *
  * @param	string		$content: The PlugIn content
  * @param	array		$conf: The PlugIn configuration
  * @return	The content that is displayed on the website
  */
 function main($content, $config)
 {
     // get content
     $this->pi_initPIflexForm();
     $config['content.']['lang'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'cLang', 'sVIEW');
     $config['content.']['code'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'cCode', 'sVIEW');
     $config['content.']['highlight'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'cHighlight', 'sOPTIONS');
     $config['content.']['startnumber'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'cStartnumber', 'sOPTIONS');
     // init geshi library
     $this->geshi = new GeSHi($config['content.']['code'], $config['content.']['lang']);
     // defaults
     $this->geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
     // set highlighted lines
     if ($config['content.']['highlight'] !== '') {
         $this->geshi->highlight_lines_extra(split(',', $config['content.']['highlight']));
     }
     // set startnumber
     if (isset($config['content.']['startnumber'])) {
         $this->geshi->start_line_numbers_at($config['content.']['startnumber']);
     }
     // style
     if (isset($config['default.'])) {
         $this->_styleSubjects($config['default.']);
     }
     if (isset($config[$config['content.']['lang'] . '.'])) {
         $this->_styleSubjects($config[$config['content.']['lang'] . '.']);
     }
     // external stylesheets
     if (isset($config['global.']['external']) && $config['global.']['external'] == 0) {
         // do not use external style sheets
     } else {
         // mtness.net modification: I love stylesheets!
         $this->geshi->enable_classes();
         // Echo out the stylesheet for this code block And continue echoing the page
         $this->geshiCSS = '<style type="text/css"><!--' . $this->geshi->get_stylesheet() . '--></style>';
         // additional headerdata to include the styles
         $GLOBALS['TSFE']->additionalHeaderData['dev_null_geshi:' . $config['content.']['lang']] = $this->geshiCSS;
     }
     // xhtml compliance
     if (isset($config['global.']['xhtmlcompliant']) && $config['global.']['xhtmlcompliant'] == 1) {
         $this->geshi->set_xhtml_compliance(true);
     }
     // check for errors
     if ($this->geshi->error() !== false) {
         // log an error, this happens if the language file is missing or non-readable. Other input
         // specific errors can also occour, eg. if a non-existing container type is set for the engine.
         $GLOBALS['BE_USER']->simplelog($this->geshi->error(), $extKey = 'dev_null_geshi', 1);
     }
     // render
     return $this->pi_wrapInBaseClass($this->geshi->parse_code());
 }
开发者ID:,项目名称:,代码行数:58,代码来源:

示例2: formatCodeBlocks

	protected function formatCodeBlocks($source){
		return preg_replace_callback('/<code>([\s\S]*?)<\/code>/', function($matches){
			$geshi = new GeSHi($matches[1], 'javascript');
			$geshi->enable_classes();
			return $geshi->parse_code();
		}, $source);
	}
开发者ID:GCheung55,项目名称:mootools-website,代码行数:7,代码来源:docsparser.php

示例3: codeReplace

 public function codeReplace($text)
 {
     // check if geshi available
     $geshiPath = dirname(__FILE__) . '/../vendor/geshi/geshi.php';
     if (!file_exists($geshiPath)) {
         return $text;
     }
     $regexp = '@<code class="(\\w+)">(.+?)<\\/code>@s';
     // replace codes
     if (preg_match_all($regexp, $text, $found)) {
         require_once $geshiPath;
         for ($index = 0; $index < count($found) - 1; $index++) {
             if (!isset($found[1][$index])) {
                 continue;
             }
             $language = $found[1][$index];
             $code = trim($found[2][$index]);
             $geshi = new GeSHi($code, $language);
             $geshi->set_header_type(GESHI_HEADER_NONE);
             $geshi->enable_classes();
             $geshi->set_tab_width(2);
             $geshi->enable_keyword_links(false);
             if (in_array($language, array('php', 'css', 'shell', 'ruby', 'python', 'bash', 'sql')) && String::numberOfLines($code) > 5) {
                 //$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 2);
             }
             // replace image place holders
             $text = str_replace($code, $geshi->parse_code(), $text);
         }
     }
     return $text;
 }
开发者ID:Ephigenia,项目名称:harrison,代码行数:31,代码来源:BlogPostFormater.php

示例4: source_highlighter

function source_highlighter($code)
{
    $source = str_replace(array("&gt;", "&lt;", "&quot;", "&amp;"), array(">", "<", "\"", "&"), $code[1]);
    if (false !== stristr($code[0], "[php]")) {
        $lang2geshi = "php";
    } elseif (false !== stristr($code[0], "[sql]")) {
        $lang2geshi = "sql";
    } elseif (false !== stristr($code[0], "[html]")) {
        $lang2geshi = "html4strict";
    } else {
        $lang2geshi = "txt";
    }
    $geshi = new GeSHi($source, $lang2geshi);
    $geshi->set_header_type(GESHI_HEADER_PRE_VALID);
    $geshi->set_overall_style('font: normal normal 100% monospace; color: #000066;', false);
    $geshi->set_line_style('color: #003030;', 'font-weight: bold; color: #006060;', true);
    $geshi->set_code_style('color: #000020;font-family:monospace; font-size:12px;line-height:6px;', true);
    //$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
    $geshi->enable_classes(false);
    $geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
    $geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
    $return = "<div class=\"codetop\">CODE</div><div class=\"codemain\">\n";
    $return .= $geshi->parse_code();
    $return .= "\n</div>\n";
    return $return;
}
开发者ID:ZenoX2012,项目名称:CyBerFuN-CoDeX,代码行数:26,代码来源:bbcode_functions.php

示例5: load

 function load()
 {
     if ($this->exists() == true) {
         $this->import();
         $this->lng = $this->data['language'];
         $this->source = $this->data['source'];
     } else {
         if (!class_exists('GeSHi')) {
             include_once 'classes/class.geshi.php';
         }
         global $lang;
         $language = $this->hasLanguage() ? $this->lng : 'text';
         $geshi = new GeSHi($this->source, $language, 'classes/geshi');
         $geshi->set_encoding($lang->charset());
         $geshi->enable_classes(false);
         $geshi->set_header_type(GESHI_HEADER_DIV);
         $geshi->enable_keyword_links(true);
         $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
         if (!$this->hasLanguage()) {
             $geshi->enable_highlighting(false);
             $geshi->set_numbers_highlighting(false);
             $geshi->set_brackets_highlighting(false);
             $language = '';
         } else {
             $language = $geshi->get_language_name();
         }
         $this->data = array('language' => $language, 'parsed' => $geshi->parse_code(), 'source' => $this->source);
         $this->export();
     }
 }
开发者ID:BackupTheBerlios,项目名称:viscacha-svn,代码行数:30,代码来源:UniversalCodeCache.inc.php

示例6: token

 /**
  * 
  * Renders a token into text matching the requested format.
  * 
  * @access public
  * 
  * @param array $options The "options" portion of the token (second
  * element).
  * 
  * @return string The text rendered from the token options.
  * 
  */
 function token($options)
 {
     $text = $options['text'];
     $attr = $options['attr'];
     $type = strtolower($attr['type']);
     $css = $this->formatConf(' class="%s"', 'css');
     $css_code = $this->formatConf(' class="%s"', 'css_code');
     $css_php = $this->formatConf(' class="%s"', 'css_php');
     $css_html = $this->formatConf(' class="%s"', 'css_html');
     $geshi_class = path::file("plugins") . "geshi/geshi.php";
     if ($type != "" && file_exists(path::file("plugins") . "geshi/geshi.php") && is_readable(path::file("plugins") . "geshi/geshi.php")) {
         require_once path::file("plugins") . "geshi/geshi.php";
         $geshi = new GeSHi(trim($text), $type, path::file("plugins") . "geshi/geshi/");
         $geshi->set_encoding("utf-8");
         $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS, 1);
         $geshi->set_header_type(GESHI_HEADER_DIV);
         $geshi->enable_classes();
         $geshi->set_overall_class('geshi_code');
         $text = $geshi->parse_code();
         $style = $geshi->get_stylesheet();
         global $page_handler;
         $style = "<style type='text/css'>\n{$style}\n</style>";
         $page_handler->add_header_data($style);
     } else {
         //generic code example:
         //convert tabs to four spaces,
         //convert entities.
         $text = trim(htmlentities($text));
         $text = str_replace("\t", " &nbsp; &nbsp;", $text);
         $text = str_replace("  ", " &nbsp;", $text);
         $text = "<code{$css_code}>{$text}</code>";
     }
     return "\n{$text}\n\n";
 }
开发者ID:BackupTheBerlios,项目名称:wcms,代码行数:46,代码来源:Code.php

示例7: DoGeshi

function DoGeshi($code)
{
    $geshi = new GeSHi(trim($code), "html4strict", null);
    $geshi->set_header_type(GESHI_HEADER_NONE);
    $geshi->enable_classes();
    return "<span class=\"geshi\">" . str_replace("\n", "", $geshi->parse_code()) . "</span>";
}
开发者ID:RoadrunnerWMC,项目名称:ABXD-legacy,代码行数:7,代码来源:faq.php

示例8: syntaxHighlight

 function syntaxHighlight($matches)
 {
     $geshi = new GeSHi($matches[3], empty($matches[2]) ? "txt" : $matches[2]);
     $geshi->enable_classes();
     $geshi->set_overall_style("");
     // empty style
     return $geshi->parse_code();
 }
开发者ID:hellovigoss,项目名称:tipi,代码行数:8,代码来源:TipiMarkdownExt.php

示例9: parseGeshi

 /**
  * @param string $sContent
  * @param string $sLanguage
  * @return string
  */
 public function parseGeshi($sContent, $sLanguage, $bUseClasses = false)
 {
     $oGeshi = new \GeSHi($sContent, $sLanguage);
     if ($bUseClasses) {
         $oGeshi->enable_classes();
     }
     return $oGeshi->parse_code();
 }
开发者ID:neilime,项目名称:geshi-twig-extension,代码行数:13,代码来源:GeshiExtension.php

示例10: markdown_code_highlighter

function markdown_code_highlighter($code, $language, $rss = false)
{
    $code = stripslashes(trim(htmlspecialchars_decode($code, ENT_NOQUOTES)));
    $geshi = new GeSHi($code, $language);
    if ($rss == false) {
        $geshi->set_header_type(GESHI_HEADER_NONE);
        $geshi->enable_classes();
    }
    return '<pre class="lang-' . $language . '"><code>' . $geshi->parse_code() . '</code></pre>';
}
开发者ID:spjwebster,项目名称:wp-markdown-syntax-highlight,代码行数:10,代码来源:markdown_code_highlight.php

示例11: highlight

function highlight($code, $lang)
{
    if ($lang == 'php-html') {
        return smartHighlight($code);
    }
    $geshi = new GeSHi($code, $lang);
    $geshi->set_header_type(GESHI_HEADER_NONE);
    $geshi->enable_classes();
    $geshi->enable_keyword_links(false);
    $code = $geshi->parse_code();
    return '<span class="' . $lang . '">' . $code . '</span>';
}
开发者ID:scheibome,项目名称:kirbycms-extensions,代码行数:12,代码来源:highlight.php

示例12: register

 public function register(Application $app)
 {
     $app['geshi'] = function () use($app) {
         $geshi = new \GeSHi();
         $geshi->enable_classes();
         // this must be the first method (see Geshi doc)
         $geshi->set_encoding($app['app.charset']);
         $geshi->enable_line_numbers(GESHI_NO_LINE_NUMBERS);
         $geshi->enable_keyword_links(false);
         return $geshi;
     };
 }
开发者ID:oiat,项目名称:e-book-creator,代码行数:12,代码来源:GeshiServiceProvider.php

示例13: handle_geshi

function handle_geshi($content, $language)
{
    $g = new GeSHi($content, $language);
    $g->enable_classes();
    $g->set_header_type(GESHI_HEADER_DIV);
    $g->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
    #$g->set_overall_style('color:black');
    $g->set_overall_id('source');
    $g->set_code_style('color:black;', "'Courier New', Courier, monospace");
    $g->set_line_style('color:#838383;', '', true);
    return $g->parse_code();
}
开发者ID:slepp,项目名称:pastebin.ca,代码行数:12,代码来源:handler.inc.php

示例14: callGeshi

 protected function callGeshi($text, $language)
 {
     if ($language == 'html') {
         $language = 'html4strict';
     }
     $text = html_entity_decode($text);
     $geshi = new GeSHi($text, $language);
     $geshi->enable_classes();
     // disable links on PHP functions, HTML tags, ...
     $geshi->enable_keyword_links(false);
     $ret = @$geshi->parse_code();
     //fix extra space at bottom
     return str_replace("&nbsp;</pre>", "</pre>", $ret);
 }
开发者ID:kbond,项目名称:zsUtilPlugin,代码行数:14,代码来源:zsMarkdownDocument.class.php

示例15: unset

 function code_callback($matches)
 {
     $index = (int) $matches[1];
     $lang = $this->saved_code[$index]['lang'];
     $code = $this->saved_code[$index]['code'];
     // for prevent memory leaks
     unset($this->saved_code[$index]);
     // translate some language names so that simpler names can be used
     ${$lang} = strtr($lang, array('html' => 'html4strict', 'php' => 'php-brief'));
     // if we get HTML for example, it's already encoded
     $geshi = new GeSHi(htmlspecialchars_decode(trim($code, " \t\n\r\v�"), ENT_QUOTES), $lang);
     $geshi->enable_classes();
     $geshi->set_overall_class('code');
     return $geshi->parse_code();
 }
开发者ID:negram,项目名称:flyspray,代码行数:15,代码来源:class.wikisyntax.php


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