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


PHP GeSHi::set_header_type方法代码示例

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


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

示例1: 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

示例2: parse

 /**
  * @desc Highlights the code. It uses the geshi HTML syntax highlighter and then it highlights the specific template syntax.
  * @param int $line_number GESHI_NO_LINE_NUMBERS => no line numbers, GESHI_NORMAL_LINE_NUMBERS line numbers.
  * @param bool $inline_code true if it's a sigle line code, otherwise false.
  */
 public function parse($line_number = GESHI_NO_LINE_NUMBERS, $inline_code = false)
 {
     //The template language of PHPBoost contains HTML. We first ask to highlight the html code.
     require_once PATH_TO_ROOT . '/kernel/lib/php/geshi/geshi.php';
     $geshi = new GeSHi($this->content, 'html');
     if ($line_number) {
         $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
     }
     //GeSHi must not put any div or pre tag before and after the content
     if ($inline_code) {
         $geshi->set_header_type(GESHI_HEADER_NONE);
     }
     $this->content = $geshi->parse_code();
     //Now we highlight the specific syntax of PHPBoost templates
     //Conditionnal block
     $this->content = preg_replace('`# IF ( NOT)? ((?:\\w+\\.)*)(\\w+) #`i', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">IF$1</span> <span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$2</span><span style="' . self::TPL_VARIABLE_STYLE . '">$3</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     $this->content = preg_replace('`# ELSEIF ( NOT)? ((?:\\w+\\.)*)(\\w+) #`i', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">ELSEIF$1</span> <span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$2</span><span style="' . self::TPL_VARIABLE_STYLE . '">$3</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     $this->content = str_replace('# ELSE #', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">ELSE</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     $this->content = str_replace('# ENDIF #', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">ENDIF</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     //Loops
     $this->content = preg_replace('`# START ((?:\\w+\\.)*)(\\w+) #`i', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">START</span> <span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$1</span><span style="' . self::TPL_VARIABLE_STYLE . '">$2</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     $this->content = preg_replace('`# END ((?:\\w+\\.)*)(\\w+) #`i', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">END</span> <span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$1</span><span style="' . self::TPL_VARIABLE_STYLE . '">$2</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     //Inclusions
     $this->content = preg_replace('`# INCLUDE ((?:\\w+\\.)*)([\\w]+) #`', '<span style="' . self::TPL_SHARP_STYLE . '">#</span> <span style="' . self::TPL_KEYWORD_STYLE . '">INCLUDE </span> <span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$1</span><span style="' . self::TPL_VARIABLE_STYLE . '">$2</span> <span style="' . self::TPL_SHARP_STYLE . '">#</span>', $this->content);
     //Simple variable
     $this->content = preg_replace('`{([\\w]+)}`i', '<span style="' . self::TPL_BRACES_STYLE . '">{</span><span style="' . self::TPL_VARIABLE_STYLE . '">$1</span><span style="' . self::TPL_BRACES_STYLE . '">}</span>', $this->content);
     //Loop variable
     $this->content = preg_replace('`{((?:[\\w]+\\.)+)([\\w]+)}`i', '<span style="' . self::TPL_BRACES_STYLE . '">{</span><span style="' . self::TPL_NESTED_VARIABLE_STYLE . '">$1</span><span style="' . self::TPL_VARIABLE_STYLE . '">$2</span><span style="' . self::TPL_BRACES_STYLE . '">}</span>', $this->content);
     if ($inline_code) {
         $this->content = '<pre style="display:inline; font-color:courier new;">' . $this->content . '</pre>';
     }
 }
开发者ID:AroundPBT,项目名称:PHPBoost,代码行数:37,代码来源:TemplateHighlighter.class.php

示例3: import

 function _highlight_code($contents, $language, $line_number, $inline_code)
 {
     $contents = htmlspecialchars_decode($contents);
     if (strtolower($language) == 'bbcode') {
         import('content/parser/bbcode_highlighter');
         $bbcode_highlighter = new BBCodeHighlighter();
         $bbcode_highlighter->set_content($contents, PARSER_DO_NOT_STRIP_SLASHES);
         $bbcode_highlighter->parse($inline_code);
         $contents = $bbcode_highlighter->get_content(DO_NOT_ADD_SLASHES);
     } elseif (strtolower($language) == 'tpl' || strtolower($language) == 'template') {
         import('content/parser/template_highlighter');
         require_once PATH_TO_ROOT . '/kernel/framework/content/geshi/geshi.php';
         $template_highlighter = new TemplateHighlighter();
         $template_highlighter->set_content($contents, PARSER_DO_NOT_STRIP_SLASHES);
         $template_highlighter->parse($line_number ? GESHI_NORMAL_LINE_NUMBERS : GESHI_NO_LINE_NUMBERS, $inline_code);
         $contents = $template_highlighter->get_content(DO_NOT_ADD_SLASHES);
     } elseif ($language != '') {
         require_once PATH_TO_ROOT . '/kernel/framework/content/geshi/geshi.php';
         $Geshi = new GeSHi($contents, $language);
         if ($line_number) {
             $Geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
         }
         if ($inline_code) {
             $Geshi->set_header_type(GESHI_HEADER_NONE);
         }
         $contents = '<pre style="display:inline;">' . $Geshi->parse_code() . '</pre>';
     } else {
         $highlight = highlight_string($contents, true);
         $font_replace = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $highlight);
         $contents = preg_replace('`color="(.*?)"`', 'style="color:$1"', $font_replace);
     }
     return $contents;
 }
开发者ID:janus57,项目名称:PHPBoost_v3c,代码行数:33,代码来源:content_second_parser.class.php

示例4: highlight

 /**
  * Highlight a given piece of source code.
  * Works for xhtml only. Falls back to original highlighter for
  * other formats.
  *
  * @param string $text   Text to highlight
  * @param string $role   Source code role to use (php, xml, html, ...)
  * @param string $format Output format (pdf, xhtml, troff, ...)
  *
  * @return string Highlighted code
  */
 public function highlight($text, $role, $format)
 {
     $geshi = new \GeSHi($text, $role);
     $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
     $geshi->set_header_type(GESHI_HEADER_DIV);
     return $geshi->parse_code();
 }
开发者ID:marczych,项目名称:hack-hhvm-docs,代码行数:18,代码来源:GeSHi.php

示例5: jabFormatCode

function jabFormatCode($code)
{
    @(include_once "geshi-1.0.8.6/geshi/geshi.php");
    if (function_exists('geshi_highlight')) {
        // Strip off language specifier
        $language = null;
        if (preg_match("/^{{(.*)}}\n+/", $code, $matches)) {
            $language = $matches[1];
            $code = preg_replace("/^{{(.*)}}\n+/", "", $code);
        }
        global $jab;
        if ($language == null && isset($jab['syntax_language'])) {
            $language = $jab['syntax_language'];
        }
        if ($language !== null) {
            $geshi = new GeSHi($code, $language, null);
            $geshi->set_header_type(GESHI_HEADER_NONE);
            $geshi->line_ending = "\n";
            $geshi->set_comments_style(1, 'color: #008200;');
            $geshi->set_comments_style('MULTI', 'color: #008200;');
            $geshi->set_strings_style('color: #848200');
            $geshi->set_numbers_style('');
            return "<pre><code>" . $geshi->parse_code() . "</code></pre>";
        }
    }
    return "<pre><code>" . htmlspecialchars($code, ENT_NOQUOTES) . "</code></pre>";
}
开发者ID:RedBlueThing,项目名称:jab,代码行数:27,代码来源:syntax.php

示例6: 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

示例7: print_highlighted

function print_highlighted($lang)
{
    //The GeSHI syntax highlighter is included.
    include_once 'geshi/geshi.php';
    //The string returned is stored in a variable.
    $filename = get_id($_SERVER['REQUEST_URI']);
    //If file does not exist then it redirects the user to the home page.
    $file = fopen("data/{$filename}", "r") or header("Location: /");
    $source = '';
    while (!feof($file)) {
        $source = $source . fgets($file);
    }
    //The object created is passed two arguments for syntax highlighting.
    $geshi = new GeSHi($source, $lang);
    $geshi->set_overall_style('background-color: #f2f2f2; margin: 0px 35px; border: 1px dotted;', true);
    //$geshi->set_header_type(GESHI_HEADER_PRE_VALID);
    $geshi->set_header_type(GESHI_HEADER_DIV);
    //The flag below shows the line numbers. See GeSHI docs for more options.
    $flag = GESHI_FANCY_LINE_NUMBERS;
    $geshi->enable_line_numbers($flag);
    $geshi->set_line_style(' padding: 0px 15px;');
    //The <pre> tags are included for maintaining the indentation.
    // echo "<pre>";
    echo $geshi->parse_code();
    // echo "</pre></div>";
    return 0;
}
开发者ID:vrnkalra,项目名称:glupaste,代码行数:27,代码来源:libpaste1.php

示例8: renderTagCode

 public function renderTagCode(array $tag, array $rendererStates)
 {
     if (strtolower(strval($tag['option'])) == 'html') {
         $tag['option'] = 'html5';
     }
     if (!$tag['option']) {
         $tag['option'] = 'text';
     }
     $content = $this->stringifyTree($tag['children']);
     $content = XenForo_Helper_String::censorString($content);
     $geshi = new GeSHi($content, $tag['option']);
     if (XenForo_Application::get('options')->get('dpSyntaxHighlighterShowLines')) {
         $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
     }
     $geshi->set_link_target('_blank" rel="nofollow');
     $geshi->set_header_type(GESHI_HEADER_NONE);
     $geshi->set_tab_width(4);
     $content = $geshi->parse_code();
     if ($this->_view) {
         $template = $this->_view->createTemplateObject('dp_bb_code_tag_code', array('content' => $content, 'language' => $geshi->get_language_name()));
         return $template->render();
     } else {
         return '<div style="margin: 1em auto" title="Code">' . $content . '</div>';
     }
 }
开发者ID:Sywooch,项目名称:forums,代码行数:25,代码来源:Base.php

示例9: 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

示例10: smarty_block_code

function smarty_block_code($params, $content, Smarty_Internal_Template $template, $open)
{
    if ($open) {
        return '';
    } else {
        $language = isset($params['language']) ? (string) $params['language'] : null;
        $classes = array();
        if ($language) {
            $classes[] = $language;
        }
        if (!empty($params['class'])) {
            $classes[] = $params['class'];
        }
        $content = trim($content, "\n\r");
        $content = rtrim($content);
        $rows = preg_split("#[\n\r]#", $content);
        preg_match('#^\\s+#', reset($rows), $matches);
        if ($matches) {
            $whitespace = $matches[0];
            foreach ($rows as &$row) {
                $row = preg_replace('#^' . $whitespace . '#', '', $row);
            }
        }
        $content = implode(PHP_EOL, $rows);
        $content = trim($content, "\n\r");
        $geshi = new GeSHi($content, $language);
        $geshi->keyword_links = false;
        $geshi->set_tab_width(4);
        $geshi->set_header_type(GESHI_HEADER_NONE);
        return '<code class="' . implode(' ', $classes) . '">' . $geshi->parse_code() . '</code>';
    }
}
开发者ID:cargomedia,项目名称:cm,代码行数:32,代码来源:block.code.php

示例11: 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

示例12: 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

示例13: render_code

function render_code(&$renderer, $code, $lang)
{
    // code
    $renderer->doc .= "<div class=\"code_block_code\">";
    $geshi = new GeSHi($code, $lang);
    $geshi->set_header_type(GESHI_HEADER_DIV);
    $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
    $renderer->doc .= $geshi->parse_code();
    $renderer->doc .= "</div>";
}
开发者ID:omusico,项目名称:isle-web-framework,代码行数:10,代码来源:tools.php

示例14: 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

示例15: htmlify

function htmlify($filename)
{
    ob_start();
    include $filename;
    $html = ob_get_contents();
    ob_end_clean();
    $geshi = new GeSHi(trim($html), 'html5');
    $geshi->set_header_type(GESHI_HEADER_PRE);
    $geshi->enable_keyword_links(false);
    echo $geshi->parse_code();
}
开发者ID:nitroxy,项目名称:php-forms,代码行数:11,代码来源:utils.php


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