GeSHi GeSHi(
string
$source, string
$language, [string
$path = '']
)
|
|
Creates a new GeSHi object, with source and language
Parameters:
|
string |
$source: |
The source code to highlight |
|
string |
$language: |
The language to highlight the source with |
|
string |
$path: |
The path to the language file directory. This
is deprecated! I've backported the auto path detection from the 1.1.X dev branch, so now it should be automatically set correctly. If you have renamed the language directory however, you will still need to set the path using this parameter or GeSHi::set_language_path() |
Information Tags:
void add_keyword(
int
$key, string
$word
)
|
|
Adds a keyword to a keyword group for highlighting
Parameters:
|
int |
$key: |
The key of the keyword group to add the keyword to |
|
string |
$word: |
The word to add to the keyword group |
Information Tags:
void add_keyword_group(
int
$key, string
$styles, [boolean
$case_sensitive = true], [array
$words = array()]
)
|
|
Creates a new keyword group
Parameters:
|
int |
$key: |
The key of the keyword group to create |
|
string |
$styles: |
The styles for the keyword group |
|
boolean |
$case_sensitive: |
Whether the keyword group is case sensitive ornot |
|
array |
$words: |
The words to use for the keyword group |
Information Tags:
void disable_highlighting(
)
|
|
Disables all highlighting
Information Tags:
| Todo: | Rewrite with an array traversal |
| Since: | 1.0.0 |
void enable_classes(
[boolean
$flag = true]
)
|
|
Sets whether CSS classes should be used to highlight the source. Default is off, calling this method with no arguments will turn it on
Parameters:
|
boolean |
$flag: |
Whether to turn classes on or not |
Information Tags:
void enable_highlighting(
)
|
|
Enables all highlighting
Information Tags:
| Todo: | Rewrite with array traversal |
| Since: | 1.0.0 |
void enable_ids(
[boolean
$flag = true]
)
|
|
Whether CSS IDs should be added to each line
Parameters:
|
boolean |
$flag: |
If true, IDs will be added to each line. |
Information Tags:
void enable_important_blocks(
mixed
$flag
)
|
|
Sets whether context-important blocks are highlighted
Information Tags:
| Todo: | REMOVE THIS SHIZ FROM GESHI! |
void enable_line_numbers(
int
$flag, [int
$nth_row = 5]
)
|
|
Sets whether line numbers should be displayed.
Valid values for the first parameter are:
- GESHI_NO_LINE_NUMBERS: Line numbers will not be displayed
- GESHI_NORMAL_LINE_NUMBERS: Line numbers will be displayed
- GESHI_FANCY_LINE_NUMBERS: Fancy line numbers will be displayed
For fancy line numbers, the second parameter is used to signal which lines are to be fancy. For example, if the value of this parameter is 5 then every 5th line will be fancy.
Parameters:
|
int |
$flag: |
How line numbers should be displayed |
|
int |
$nth_row: |
Defines which lines are fancy |
Information Tags:
void enable_strict_mode(
[boolean
$mode = true]
)
|
|
Enables/disables strict highlighting. Default is off, calling this method without parameters will turn it on. See documentation for more details on strict mode and where to use it.
Parameters:
|
boolean |
$mode: |
Whether to enable strict mode or not |
Information Tags:
Returns an error message associated with the last GeSHi operation, or false if no error has occured
API Tags:
| Return: | An error message if there has been an error, else false |
Information Tags:
string get_language_name(
)
|
|
Gets a human-readable language name (thanks to Simon Patterson for the idea :))
API Tags:
| Return: | The name for the current language |
Information Tags:
void get_language_name_from_extension(
string
$extension, [array
$lookup = array()]
)
|
|
Given a file extension, this method returns either a valid geshi language name, or the empty string if it couldn't be found
Parameters:
|
string |
$extension: |
The extension to get a language name for |
|
array |
$lookup: |
A lookup array to use instead of the default |
Information Tags:
| Todo: | Re-think about how this method works (maybe make it private and/or make it a extension->lang lookup?) |
| Todo: | static? |
| Since: | 1.0.5 |
string get_stylesheet(
[boolean
$economy_mode = true]
)
|
|
Returns a stylesheet for the highlighted code. If $economy mode is true, we only return the stylesheet declarations that matter for this code block instead of the whole thing
Parameters:
|
boolean |
$economy_mode: |
Whether to use economy mode or not |
API Tags:
| Return: | A stylesheet built on the data for the current language |
Information Tags:
Gets the time taken to parse the code
API Tags:
| Return: | The time taken to parse the code |
Information Tags:
void highlight_lines_extra(
mixed
$lines
)
|
|
Specifies which lines to highlight extra
Parameters:
|
mixed |
$lines: |
An array of line numbers to highlight, or just a line number on its own. |
Information Tags:
| Todo: | Some data replication here that could be cut down on |
| Since: | 1.0.2 |
void load_from_file(
mixed
$file_name, [mixed
$lookup = array()]
)
|
|
Given a file name, this method loads its contents in, and attempts
to set the language automatically. An optional lookup table can be passed for looking up the language name. If not specified a default table is used
The language table is in the form
array(
'lang_name' => array('extension', 'extension', ...),
'lang_name' ...
);
Information Tags:
| Since: | 1.0.5 |
| Todo: | Complete rethink of this and above method |
Returns the code in $this->source, highlighted and surrounded by the nessecary HTML.
This should only be called ONCE, cos it's SLOW! If you want to highlight the same source multiple times, you're better off doing a whole lot of str_replaces to replace the <span>s
Information Tags:
void remove_keyword(
int
$key, string
$word
)
|
|
Removes a keyword from a keyword group
Parameters:
|
int |
$key: |
The key of the keyword group to remove the keyword from |
|
string |
$word: |
The word to remove from the keyword group |
Information Tags:
void remove_keyword_group(
int
$key
)
|
|
Removes a keyword group
Parameters:
|
int |
$key: |
The key of the keyword group to remove |
Information Tags:
void set_brackets_highlighting(
boolean
$flag
)
|
|
Turns highlighting on/off for brackets
This method is DEPRECATED: use set_symbols_highlighting instead. This method will be remove in 1.2.X
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for brackets on or off |
API Tags:
| Deprecated: | In favour of set_symbols_highlighting |
Information Tags:
void set_brackets_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for brackets. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
This method is DEPRECATED: use set_symbols_style instead. This method will be removed in 1.2.X
Parameters:
|
string |
$style: |
The style to make the brackets |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
API Tags:
| Deprecated: | In favour of set_symbols_style |
Information Tags:
void set_case_keywords(
int
$case
)
|
|
Sets the case that keywords should use when found. Use the constants:
- GESHI_CAPS_NO_CHANGE: leave keywords as-is
- GESHI_CAPS_UPPER: convert all keywords to uppercase where found
- GESHI_CAPS_LOWER: convert all keywords to lowercase where found
Parameters:
|
int |
$case: |
A constant specifying what to do with matched keywords |
Information Tags:
| Todo: | Error check the passed value |
| Since: | 1.0.1 |
void set_case_sensitivity(
int
$key, boolean
$case
)
|
|
Sets whether a set of keywords are checked for in a case sensitive manner
Parameters:
|
int |
$key: |
The key of the keyword group to change the case sensitivity of |
|
boolean |
$case: |
Whether to check in a case sensitive manner or not |
Information Tags:
void set_code_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the style for the actual code. This should be a string
containing valid stylesheet declarations. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Note: Use this method to override any style changes you made to the line numbers if you are using line numbers, else the line of code will have the same style as the line number! Consult the GeSHi documentation for more information about this.
Parameters:
|
string |
$style: |
The style to use for actual code |
|
boolean |
$preserve_defaults: |
Whether to merge the current styles with the new styles |
void set_comments_highlighting(
int
$key, [boolean
$flag = true]
)
|
|
Turns highlighting on/off for comment groups
Parameters:
|
int |
$key: |
The key of the comment group to turn on or off |
|
boolean |
$flag: |
Whether to turn highlighting for that group on or off |
Information Tags:
void set_comments_style(
int
$key, string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for comment groups. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
int |
$key: |
The key of the comment group to change the styles of |
|
string |
$style: |
The style to make the comments |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_encoding(
string
$encoding
)
|
|
Sets the encoding used for htmlspecialchars(), for international support.
Parameters:
|
string |
$encoding: |
The encoding to use for the source |
Information Tags:
void set_escape_characters_highlighting(
[boolean
$flag = true]
)
|
|
Turns highlighting on/off for escaped characters
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for escape characters on or off |
Information Tags:
void set_escape_characters_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for escaped characters. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
string |
$style: |
The style to make the escape characters |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_footer_content(
string
$content
)
|
|
Sets the content of the footer block
Parameters:
|
string |
$content: |
The content of the footer block |
Information Tags:
void set_footer_content_style(
string
$style
)
|
|
Sets the style for the footer content
Parameters:
|
string |
$style: |
The style for the footer content |
Information Tags:
void set_header_content(
string
$content
)
|
|
Sets the content of the header block
Parameters:
|
string |
$content: |
The content of the header block |
Information Tags:
void set_header_content_style(
string
$style
)
|
|
Sets the style for the header content
Parameters:
|
string |
$style: |
The style for the header content |
Information Tags:
void set_header_type(
int
$type
)
|
|
Sets the type of header to be used.
If GESHI_HEADER_DIV is used, the code is surrounded in a <div>.This means more source code but more control over tab width and line-wrapping. GESHI_HEADER_PRE means that a
Parameters:
|
int |
$type: |
The type of header to be used |
Information Tags:
void set_highlight_lines_extra_style(
string
$styles
)
|
|
Sets the style for extra-highlighted lines
Parameters:
|
string |
$styles: |
The style for extra-highlighted lines |
Information Tags:
void set_important_styles(
string
$styles
)
|
|
Sets styles for important parts of the code
Parameters:
|
string |
$styles: |
The styles to use on important parts of the code |
Information Tags:
void set_keyword_group_highlighting(
int
$key, [boolean
$flag = true]
)
|
|
Turns highlighting on/off for a keyword group
Parameters:
|
int |
$key: |
The key of the keyword group to turn on or off |
|
boolean |
$flag: |
Whether to turn highlighting for that group on or off |
Information Tags:
void set_keyword_group_style(
int
$key, string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the style for a keyword group. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
int |
$key: |
The key of the keyword group to change the styles of |
|
string |
$style: |
The style to make the keywords |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_language(
string
$language
)
|
|
Sets the language for this object
Parameters:
|
string |
$language: |
The name of the language to use |
Information Tags:
void set_language_path(
string
$path
)
|
|
Sets the path to the directory containing the language files. Note that this path is relative to the directory of the script that included geshi.php, NOT geshi.php itself.
Parameters:
|
string |
$path: |
The path to the language directory |
API Tags:
| Deprecated: | The path to the language files should now be automatically detected, so this method should no longer be needed. The 1.1.X branch handles manual setting of the path differently so this method will disappear in 1.2.0. |
Information Tags:
void set_line_style(
string
$style1, [string|boolean
$style2 = ''], [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for the line numbers.
Parameters:
|
string |
$style1: |
The style for the line numbers that are "normal" |
|
string|boolean |
$style2: |
If a string, this is the style of the line numbers that are "fancy", otherwise if boolean then this defines whether the normal styles should be merged with the new normal styles or not |
|
boolean |
$preserve_defaults: |
If set, is the flag for whether to merge the "fancy" styles with the current styles or not |
Information Tags:
void set_link_styles(
int
$type, string
$styles
)
|
|
Sets styles for links in code
Parameters:
|
int |
$type: |
A constant that specifies what state the style is being set for - e.g. :hover or :visited |
|
string |
$styles: |
The styles to use for that state |
Information Tags:
void set_link_target(
string
$target
)
|
|
Sets the target for links in code
Parameters:
|
string |
$target: |
The target for links in the code, e.g. _blank |
Information Tags:
void set_methods_highlighting(
boolean
$flag
)
|
|
Turns highlighting on/off for methods
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for methods on or off |
Information Tags:
void set_methods_style(
int
$key, string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for methods. $key is a number that references the
appropriate "object splitter" - see the language file for the language you are highlighting to get this number. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
int |
$key: |
The key of the object splitter to change the styles of |
|
string |
$style: |
The style to make the methods |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_numbers_highlighting(
boolean
$flag
)
|
|
Turns highlighting on/off for numbers
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for numbers on or off |
Information Tags:
void set_numbers_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for numbers. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
string |
$style: |
The style to make the numbers |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_overall_class(
string
$class
)
|
|
Sets the overall classname for this block of code. This class can then be used in a stylesheet to style this object's output
Parameters:
|
string |
$class: |
The class name to use for this block of code |
Information Tags:
void set_overall_id(
string
$id
)
|
|
Sets the overall id for this block of code. This id can then be used in a stylesheet to style this object's output
Parameters:
|
string |
$id: |
The ID to use for this block of code |
Information Tags:
void set_overall_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for the code that will be outputted when this object is parsed. The style should be a string of valid stylesheet declarations
Parameters:
|
string |
$style: |
The overall style for the outputted code block |
|
boolean |
$preserve_defaults: |
Whether to merge the styles with the current styles or not |
Information Tags:
void set_regexps_highlighting(
int
$key, boolean
$flag
)
|
|
Turns highlighting on/off for regexps
Parameters:
|
int |
$key: |
The key of the regular expression group to turn on or off |
|
boolean |
$flag: |
Whether to turn highlighting for the regular expression group on or off |
Information Tags:
void set_regexps_style(
string
$key, boolean
$style, [mixed
$preserve_defaults = false]
)
|
|
Sets the styles for regexps. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
string |
$key: |
The style to make the regular expression matches |
|
boolean |
$style: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_source(
string
$source
)
|
|
Sets the source code for this object
Parameters:
|
string |
$source: |
The source code to highlight |
Information Tags:
void set_strings_highlighting(
boolean
$flag
)
|
|
Turns highlighting on/off for strings
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for strings on or off |
Information Tags:
void set_strings_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for strings. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
string |
$style: |
The style to make the escape characters |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_symbols_highlighting(
boolean
$flag
)
|
|
Turns highlighting on/off for symbols
Parameters:
|
boolean |
$flag: |
Whether to turn highlighting for symbols on or off |
Information Tags:
void set_symbols_style(
string
$style, [boolean
$preserve_defaults = false]
)
|
|
Sets the styles for symbols. If $preserve_defaults is true, then styles are merged with the default styles, with the user defined styles having priority
Parameters:
|
string |
$style: |
The style to make the symbols |
|
boolean |
$preserve_defaults: |
Whether to merge the new styles with the old or just to overwrite them |
Information Tags:
void set_tab_width(
int
$width
)
|
|
Sets how many spaces a tab is substituted for
Widths below zero are ignored
Parameters:
|
int |
$width: |
The tab width |
Information Tags:
void set_url_for_keyword_group(
int
$group, string
$url
)
|
|
Sets the