mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi
synced 2024-11-16 19:10:50 +00:00
43764e342c
Saves people having to do their own checkouts etc, and it can work out of the download from ExtensionDistributor Change-Id: I934217b5b85c7c0da42051ce36e53ec7288035a5
4053 lines
600 KiB
HTML
4053 lines
600 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
<head>
|
|
<title>GeSHi Documentation 1.0.8.6</title>
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
|
<meta name="keywords" content="GeSHi, syntax, highlighter, colorizer, beautifier, code, generic, php, sql, css, html, syntax, highlighting, documentation" />
|
|
<meta name="description" content="GeSHi - Generic Syntax Highlighter for PHP. Highlight many languages, including PHP, CSS, HTML, SQL, Java and C for XHTML compliant output using this easy PHP Class. Every aspect of the highlighting is customisable, from colours and other styles to case-sensitivity checking and more. GeSHi - the best syntax highlighter in the world!" />
|
|
|
|
<style type="text/css">
|
|
html {
|
|
background-color: #e6e6e6;
|
|
}
|
|
body {
|
|
font-family: Verdana, Arial, sans-serif;
|
|
margin: 10px;
|
|
border: 2px solid #d0d0d0;
|
|
background-color: #f6f6f6;
|
|
padding: 10px;
|
|
}
|
|
p, ul, ol, div, blockquote, dt, dd {
|
|
font-size: 80%;
|
|
line-height: 140%;
|
|
letter-spacing: 1px;
|
|
color: #002;
|
|
}
|
|
dt {
|
|
font-weight: bold;
|
|
}
|
|
acronym {
|
|
border-bottom: 1px dotted #303030;
|
|
cursor: help;
|
|
}
|
|
blockquote {
|
|
font-weight: bold;
|
|
}
|
|
pre, .geshicode {
|
|
border: 1px solid #c0e6ff;
|
|
background-color: #e0e8ef;
|
|
color: #002;
|
|
margin:0;
|
|
font-size: 12px;
|
|
width:100%;
|
|
}
|
|
table {
|
|
border-collapse:collapse;
|
|
}
|
|
.geshicode pre {
|
|
border:none;
|
|
background-color:inherit;
|
|
font-weight:bold;
|
|
}
|
|
.geshicode .li2 td {
|
|
background-color:#eee;
|
|
}
|
|
.geshicode .li1 td {
|
|
background-color:#fff;
|
|
}
|
|
.geshicode td td {
|
|
padding:0 2px;
|
|
}
|
|
.geshicode td, .geshicode table {
|
|
width: 100%;
|
|
}
|
|
.geshicode td.ln {
|
|
border-right:2px solid #e0e8ef;
|
|
}
|
|
.geshicode .head {
|
|
text-align:center;
|
|
font-weight:bold;
|
|
}
|
|
code, tt, kbd {
|
|
font-size: 125%;
|
|
font-weight:normal;
|
|
}
|
|
hr {
|
|
height: 0;
|
|
border: none;
|
|
border-top: 1px dotted #404040;
|
|
width: 75%;
|
|
}
|
|
var {
|
|
color: blue; font-style: normal; font-family: monospace;
|
|
}
|
|
li {
|
|
padding-top: 2px;
|
|
}
|
|
ul ul, ol ol, div ul, div ol {
|
|
font-size:100%;
|
|
}
|
|
.note {
|
|
border: 1px solid yellow;
|
|
background-color: #ffc;
|
|
color: #220;
|
|
padding: 5px;
|
|
margin: 1em 0 0 .75em;
|
|
}
|
|
.caution {
|
|
border: 6px double red;
|
|
background-color: #fcc;
|
|
color: #200;
|
|
padding: 5px;
|
|
margin: 1em 0 0 .75em;
|
|
}
|
|
.caution p:first-child, .note p:first-child {
|
|
margin-top: 0;
|
|
}
|
|
.caution-header {
|
|
border: 1px solid red;
|
|
border-width: 1px 2px 2px 1px;
|
|
margin-top: -1.6em;
|
|
background-color: #fcc;
|
|
width: 10%;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
color: #600;
|
|
}
|
|
.note-header {
|
|
border: 1px solid #ff0;
|
|
border-width: 1px 2px 2px 1px;
|
|
margin-top: -1.2em;
|
|
background-color: #ffc;
|
|
width: 10%;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
color: #660;
|
|
}
|
|
.nav {
|
|
font-size: 70%;
|
|
}
|
|
.nav a {
|
|
color: #707070;
|
|
border: 1px solid #a0a0a0;
|
|
border-width: 0 1px 1px 1px;
|
|
border-top: 1px dotted #c0c0c0;
|
|
text-decoration: none;
|
|
padding: 1px 2px;
|
|
background-color: #e0e0e0;
|
|
-moz-border-radius-bottomleft: 3px;
|
|
-moz-border-radius-bottomright: 3px;
|
|
}
|
|
h1, #contents {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
text-align: center;
|
|
color: #404060;
|
|
}
|
|
#contents {
|
|
text-align:left;
|
|
background:none;
|
|
border:none;
|
|
}
|
|
h2 {
|
|
border-bottom: 1px dotted #b0b0b0;
|
|
margin-top: 2em;
|
|
border-top: 1px dotted #b0b0b0;
|
|
background-color: #ddd;
|
|
margin-bottom: 0;
|
|
}
|
|
h3 {
|
|
margin-top: 1.6em;
|
|
border-bottom: 1px dotted #c0c0c0;
|
|
margin-bottom: 0;
|
|
}
|
|
h4 {
|
|
border-bottom: 1px dotted #d0d0d0;
|
|
margin-top: 1.2em;
|
|
margin-bottom: 0;
|
|
}
|
|
h2, h3, h4 {
|
|
color: #707070;
|
|
font-weight: normal;
|
|
}
|
|
a {
|
|
color: #7777ff;
|
|
}
|
|
sup a {
|
|
text-decoration: none;
|
|
}
|
|
abbr {
|
|
cursor: help;
|
|
}
|
|
.header p {
|
|
text-align: center;
|
|
border-bottom: 1px dotted #d0d0d0;
|
|
}
|
|
|
|
.header dl {
|
|
background-color: #e0e8ef;
|
|
color: #002;
|
|
padding: 5px;
|
|
}
|
|
|
|
.header img {
|
|
float: right;
|
|
margin:2.5em 1em 0 0;
|
|
}
|
|
|
|
/**
|
|
* GeSHi Dynamically Generated Stylesheet
|
|
* --------------------------------------
|
|
* Dynamically generated stylesheet for bash
|
|
* CSS class: , CSS id:
|
|
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
|
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
|
* --------------------------------------
|
|
*/
|
|
.bash .de1, .bash .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
|
.bash {font-family:monospace;}
|
|
.bash .imp {font-weight: bold; color: red;}
|
|
.bash li, .bash .li1 {font-weight: normal; vertical-align:top;}
|
|
.bash .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
|
|
.bash .li2 {font-weight: bold; vertical-align:top;}
|
|
.bash .kw1 {color: #000000; font-weight: bold;}
|
|
.bash .kw2 {color: #c20cb9; font-weight: bold;}
|
|
.bash .kw3 {color: #7a0874; font-weight: bold;}
|
|
.bash .co0 {color: #666666; font-style: italic;}
|
|
.bash .co1 {color: #800000;}
|
|
.bash .co2 {color: #cc0000; font-style: italic;}
|
|
.bash .co3 {color: #000000; font-weight: bold;}
|
|
.bash .es1 {color: #000099; font-weight: bold;}
|
|
.bash .es2 {color: #007800;}
|
|
.bash .es3 {color: #007800;}
|
|
.bash .es4 {color: #007800;}
|
|
.bash .es5 {color: #780078;}
|
|
.bash .es_h {color: #000099; font-weight: bold;}
|
|
.bash .br0 {color: #7a0874; font-weight: bold;}
|
|
.bash .sy0 {color: #000000; font-weight: bold;}
|
|
.bash .st0 {color: #ff0000;}
|
|
.bash .st_h {color: #ff0000;}
|
|
.bash .nu0 {color: #000000;}
|
|
.bash .re0 {color: #007800;}
|
|
.bash .re1 {color: #007800;}
|
|
.bash .re2 {color: #007800;}
|
|
.bash .re4 {color: #007800;}
|
|
.bash .re5 {color: #660033;}
|
|
.bash .ln-xtra, .bash li.ln-xtra, .bash div.ln-xtra {background-color: #ffc;}
|
|
.bash span.xtra { display:block; }
|
|
|
|
/**
|
|
* GeSHi Dynamically Generated Stylesheet
|
|
* --------------------------------------
|
|
* Dynamically generated stylesheet for php
|
|
* CSS class: , CSS id:
|
|
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
|
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
|
* --------------------------------------
|
|
*/
|
|
.php .de1, .php .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
|
.php {font-family:monospace;}
|
|
.php .imp {font-weight: bold; color: red;}
|
|
.php li, .php .li1 {font-weight: normal; vertical-align:top;}
|
|
.php .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
|
|
.php .li2 {font-weight: bold; vertical-align:top;}
|
|
.php .kw1 {color: #b1b100;}
|
|
.php .kw2 {color: #000000; font-weight: bold;}
|
|
.php .kw3 {color: #990000;}
|
|
.php .kw4 {color: #009900; font-weight: bold;}
|
|
.php .co1 {color: #666666; font-style: italic;}
|
|
.php .co2 {color: #666666; font-style: italic;}
|
|
.php .co3 {color: #0000cc; font-style: italic;}
|
|
.php .co4 {color: #009933; font-style: italic;}
|
|
.php .coMULTI {color: #666666; font-style: italic;}
|
|
.php .es0 {color: #000099; font-weight: bold;}
|
|
.php .es1 {color: #000099; font-weight: bold;}
|
|
.php .es2 {color: #660099; font-weight: bold;}
|
|
.php .es3 {color: #660099; font-weight: bold;}
|
|
.php .es4 {color: #006699; font-weight: bold;}
|
|
.php .es5 {color: #006699; font-weight: bold; font-style: italic;}
|
|
.php .es6 {color: #009933; font-weight: bold;}
|
|
.php .es_h {color: #000099; font-weight: bold;}
|
|
.php .br0 {color: #009900;}
|
|
.php .sy0 {color: #339933;}
|
|
.php .sy1 {color: #000000; font-weight: bold;}
|
|
.php .st0 {color: #0000ff;}
|
|
.php .st_h {color: #0000ff;}
|
|
.php .nu0 {color: #cc66cc;}
|
|
.php .nu8 {color: #208080;}
|
|
.php .nu12 {color: #208080;}
|
|
.php .nu19 {color:#800080;}
|
|
.php .me1 {color: #004000;}
|
|
.php .me2 {color: #004000;}
|
|
.php .re0 {color: #000088;}
|
|
.php .ln-xtra, .php li.ln-xtra, .php div.ln-xtra {background-color: #ffc;}
|
|
.php span.xtra { display:block; }
|
|
|
|
/**
|
|
* GeSHi Dynamically Generated Stylesheet
|
|
* --------------------------------------
|
|
* Dynamically generated stylesheet for html4strict
|
|
* CSS class: , CSS id:
|
|
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
|
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
|
* --------------------------------------
|
|
*/
|
|
.html4strict .de1, .html4strict .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
|
.html4strict {font-family:monospace;}
|
|
.html4strict .imp {font-weight: bold; color: red;}
|
|
.html4strict li, .html4strict .li1 {font-weight: normal; vertical-align:top;}
|
|
.html4strict .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
|
|
.html4strict .li2 {font-weight: bold; vertical-align:top;}
|
|
.html4strict .kw2 {color: #000000; font-weight: bold;}
|
|
.html4strict .kw3 {color: #000066;}
|
|
.html4strict .es0 {color: #000099; font-weight: bold;}
|
|
.html4strict .br0 {color: #66cc66;}
|
|
.html4strict .sy0 {color: #66cc66;}
|
|
.html4strict .st0 {color: #ff0000;}
|
|
.html4strict .nu0 {color: #cc66cc;}
|
|
.html4strict .sc-1 {color: #808080; font-style: italic;}
|
|
.html4strict .sc0 {color: #00bbdd;}
|
|
.html4strict .sc1 {color: #ddbb00;}
|
|
.html4strict .sc2 {color: #009900;}
|
|
.html4strict .ln-xtra, .html4strict li.ln-xtra, .html4strict div.ln-xtra {background-color: #ffc;}
|
|
.html4strict span.xtra { display:block; }
|
|
|
|
/**
|
|
* GeSHi Dynamically Generated Stylesheet
|
|
* --------------------------------------
|
|
* Dynamically generated stylesheet for css
|
|
* CSS class: , CSS id:
|
|
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
|
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
|
* --------------------------------------
|
|
*/
|
|
.css .de1, .css .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
|
.css {font-family:monospace;}
|
|
.css .imp {font-weight: bold; color: red;}
|
|
.css li, .css .li1 {font-weight: normal; vertical-align:top;}
|
|
.css .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
|
|
.css .li2 {font-weight: bold; vertical-align:top;}
|
|
.css .kw1 {color: #000000; font-weight: bold;}
|
|
.css .kw2 {color: #993333;}
|
|
.css .co1 {color: #a1a100;}
|
|
.css .co2 {color: #ff0000; font-style: italic;}
|
|
.css .coMULTI {color: #808080; font-style: italic;}
|
|
.css .es0 {color: #000099; font-weight: bold;}
|
|
.css .br0 {color: #00AA00;}
|
|
.css .sy0 {color: #00AA00;}
|
|
.css .st0 {color: #ff0000;}
|
|
.css .nu0 {color: #cc66cc;}
|
|
.css .re0 {color: #cc00cc;}
|
|
.css .re1 {color: #6666ff;}
|
|
.css .re2 {color: #3333ff;}
|
|
.css .re3 {color: #933;}
|
|
.css .ln-xtra, .css li.ln-xtra, .css div.ln-xtra {background-color: #ffc;}
|
|
.css span.xtra { display:block; }
|
|
|
|
/**
|
|
* GeSHi Dynamically Generated Stylesheet
|
|
* --------------------------------------
|
|
* Dynamically generated stylesheet for java
|
|
* CSS class: , CSS id:
|
|
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
|
|
* (http://qbnz.com/highlighter/ and http://geshi.org/)
|
|
* --------------------------------------
|
|
*/
|
|
.java .de1, .java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
|
|
.java {font-family:monospace;}
|
|
.java .imp {font-weight: bold; color: red;}
|
|
.java li, .java .li1 {font-weight: normal; vertical-align:top;}
|
|
.java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
|
|
.java .li2 {font-weight: bold; vertical-align:top;}
|
|
.java .kw1 {color: #000000; font-weight: bold;}
|
|
.java .kw2 {color: #000066; font-weight: bold;}
|
|
.java .kw3 {color: #003399;}
|
|
.java .kw4 {color: #000066; font-weight: bold;}
|
|
.java .co1 {color: #666666; font-style: italic;}
|
|
.java .co2 {color: #006699;}
|
|
.java .co3 {color: #008000; font-style: italic; font-weight: bold;}
|
|
.java .coMULTI {color: #666666; font-style: italic;}
|
|
.java .es0 {color: #000099; font-weight: bold;}
|
|
.java .br0 {color: #009900;}
|
|
.java .sy0 {color: #339933;}
|
|
.java .st0 {color: #0000ff;}
|
|
.java .nu0 {color: #cc66cc;}
|
|
.java .me1 {color: #006633;}
|
|
.java .me2 {color: #006633;}
|
|
.java .ln-xtra, .java li.ln-xtra, .java div.ln-xtra {background-color: #ffc;}
|
|
.java span.xtra { display:block; }
|
|
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1 id="top"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Documentation</h1>
|
|
|
|
<div class="header">
|
|
|
|
<p>Version 1.0.8.6</p>
|
|
|
|
<p><img src="http://qbnz.com/highlighter/images/geshi.png" alt="The GeSHi Logo" /></p>
|
|
|
|
<dl>
|
|
<dt>Authors:</dt>
|
|
<dd>© 2004 - 2007 <a href="mailto:nigel@geshi.org">Nigel McNie</a></dd>
|
|
|
|
<dd>© 2007 - 2009 <a href="mailto:BenBE@omorphia.de">Benny Baumann</a></dd>
|
|
|
|
<dd>© 2008 - 2009 <a href="mailto:mail@milianw.de">Milian Wolff</a></dd>
|
|
|
|
<dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt>
|
|
<dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
<p>This is the documentation for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - Generic Syntax Highlighter.</p>
|
|
|
|
<p>The most modern version of this document is available on the web -
|
|
go to <a href="http://qbnz.com/highlighter/documentation.php">http://qbnz.com/highlighter/documentation.php</a> to view it.</p>
|
|
|
|
<p>Any comments, questions, confusing points? Please <a href="#feedback">get in contact</a> with the developers! We
|
|
need all the information we can get to make the use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> and everything related to it (including this documentation)
|
|
a breeze.</p>
|
|
|
|
<h2 id="contents">Contents</h2>
|
|
|
|
<div id="toc"><ul>
|
|
<li><a href="#introduction">1 Introduction</a><ul>
|
|
<li><a href="#features">1.1 Features</a></li>
|
|
<li><a href="#about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
|
|
<li><a href="#credits">1.3 Credits</a></li>
|
|
<li><a href="#feedback">1.4 Feedback</a></li>
|
|
</ul></li>
|
|
<li><a href="#the-basics">2 The Basics</a><ul>
|
|
<li><a href="#getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</a><ul>
|
|
<li><a href="#requirements">2.1.1 Requirements</a></li>
|
|
<li><a href="#downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
|
|
<li><a href="#extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
|
|
<li><a href="#installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
|
|
</ul></li>
|
|
<li><a href="#basic-usage">2.2 Basic Usage</a></li>
|
|
</ul></li>
|
|
<li><a href="#advanced-features">3 Advanced Features</a><ul>
|
|
<li><a href="#the-code-container">3.1 The Code Container</a></li>
|
|
<li><a href="#line-numbers">3.2 Line Numbers</a><ul>
|
|
<li><a href="#enabling-line-numbers">3.2.1 Enabling Line Numbers</a></li>
|
|
<li><a href="#styling-line-numbers">3.2.2 Styling Line Numbers</a></li>
|
|
<li><a href="#starting-line-numbers">3.2.3 Choosing a Start Number</a></li>
|
|
</ul></li>
|
|
<li><a href="#using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a><ul>
|
|
<li><a href="#enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a></li>
|
|
<li><a href="#setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</a></li>
|
|
<li><a href="#getting-stylesheet">3.3.3 Getting the stylesheet for your code</a></li>
|
|
<li><a href="#using-an-external-stylesheet">3.3.4 Using an External Stylesheet</a></li>
|
|
</ul></li>
|
|
<li><a href="#changing-styles">3.4 Changing Styles</a><ul>
|
|
<li><a href="#the-overall-styles">3.4.1 The Overall Styles</a></li>
|
|
<li><a href="#line-number-styles">3.4.2 Line Number Styles</a></li>
|
|
<li><a href="#setting-keyword-styles">3.4.3 Setting Keyword Styles</a></li>
|
|
<li><a href="#setting-comment-styles">3.4.4 Setting Comment Styles</a></li>
|
|
<li><a href="#setting-other-styles">3.4.5 Setting Other Styles</a></li>
|
|
</ul></li>
|
|
<li><a href="#case-caps">3.5 Case Sensitivity and Auto Casing</a><ul>
|
|
<li><a href="#auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</a></li>
|
|
<li><a href="#setting-case-sensitivity">3.5.2 Setting Case Sensitivity</a></li>
|
|
</ul></li>
|
|
<li><a href="#changing-config">3.6 Changing the Source, Language, Config Options</a><ul>
|
|
<li><a href="#changing-the-source">3.6.1 Changing the Source Code</a></li>
|
|
<li><a href="#changing-the-language">3.6.2 Changing the Language</a></li>
|
|
<li><a href="#changing-the-path">3.6.3 Changing the Language Path</a></li>
|
|
<li><a href="#changing-the-charset">3.6.4 Changing the Character Set</a></li>
|
|
</ul></li>
|
|
<li><a href="#error-handling">3.7 Error Handling</a></li>
|
|
<li><a href="#disabling-lexics">3.8 Disabling styling of some Lexics</a></li>
|
|
<li><a href="#setting-tab-width">3.9 Setting the Tab Width</a></li>
|
|
<li><a href="#using-strict-mode">3.10 Using Strict Mode</a></li>
|
|
<li><a href="#adding-removing-keywords">3.11 Adding/Removing Keywords</a><ul>
|
|
<li><a href="#adding-a-keyword">3.11.1 Adding a Keyword</a></li>
|
|
<li><a href="#removing-a-keyword">3.11.2 Removing a Keyword</a></li>
|
|
<li><a href="#adding-a-keyword-group">3.11.3 Adding a Keyword Group</a></li>
|
|
<li><a href="#removing-a-keyword-group">3.11.4 Removing a Keyword Group</a></li>
|
|
</ul></li>
|
|
<li><a href="#headers-and-footers">3.12 Headers and Footers for Your Code</a><ul>
|
|
<li><a href="#keyword-substitution">3.12.1 Keyword Substitution</a></li>
|
|
<li><a href="#setting-header-content">3.12.2 Setting Header Content</a></li>
|
|
<li><a href="#setting-footer-content">3.12.3 Setting Footer Content</a></li>
|
|
<li><a href="#styling-header-content">3.12.4 Styling Header Content</a></li>
|
|
<li><a href="#styling-footer-content">3.12.5 Styling Footer Content</a></li>
|
|
</ul></li>
|
|
<li><a href="#keyword-urls">3.13 Keyword URLs</a><ul>
|
|
<li><a href="#setting-a-url">3.13.1 Setting a URL for a Keyword Group</a></li>
|
|
<li><a href="#disabling-urls">3.13.2 Disabling a URL for a Keyword Group</a></li>
|
|
<li><a href="#disabling-all-urls">3.13.3 Disabling all URLs for Keywords</a></li>
|
|
<li><a href="#styling-links">3.13.4 Styling Links</a></li>
|
|
<li><a href="#using-targets">3.13.5 Setting the Link Target</a></li>
|
|
</ul></li>
|
|
<li><a href="#using-contextual-importance">3.14 Using Contextual Importance</a></li>
|
|
<li><a href="#highlighting-special-lines-extra">3.15 Highlighting Special Lines “Extra”</a><ul>
|
|
<li><a href="#specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</a></li>
|
|
<li><a href="#styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</a></li>
|
|
</ul></li>
|
|
<li><a href="#adding-ids-to-each-line">3.16 Adding IDs to Each Line</a></li>
|
|
<li><a href="#getting-the-time-of-styling">3.17 Getting the Time of Styling</a></li>
|
|
</ul></li>
|
|
<li><a href="#language-files">4 Language Files</a><ul>
|
|
<li><a href="#language-file-example">4.1 An Example Language File</a></li>
|
|
<li><a href="#language-file-conventions">4.2 Language File Conventions</a></li>
|
|
<li><a href="#language-file-sections">4.3 Language File Sections</a><ul>
|
|
<li><a href="#language-file-header">4.3.1 The Header</a></li>
|
|
<li><a href="#language-file-start-indices">4.3.2 The First Indices</a></li>
|
|
<li><a href="#language-file-keywords">4.3.3 Keywords</a></li>
|
|
<li><a href="#language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</a></li>
|
|
<li><a href="#language-file-styles">4.3.5 Styles for your Language File</a></li>
|
|
<li><a href="#language-file-urls">4.3.6 URLs for Functions</a></li>
|
|
<li><a href="#language-file-numbers-support">4.3.7 Number Highlighting Support</a></li>
|
|
<li><a href="#language-file-oo-support">4.3.8 Object Orientation Support</a></li>
|
|
<li><a href="#language-file-regexps">4.3.9 Using Regular Expressions</a></li>
|
|
<li><a href="#language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</a></li>
|
|
<li><a href="#language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</a></li>
|
|
<li><a href="#language-file-tidying-up">4.3.12 Tidying Up</a></li>
|
|
</ul></li>
|
|
<li><a href="#lang-validation">4.4 Validating your language file</a></li>
|
|
</ul></li>
|
|
<li><a href="#method-constant-reference">5 Method/Constant Reference</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h2 id="introduction">1 Introduction</h2><div class="nav"><a href="#features">Next</a></div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is exactly what the acronym stands for: a <strong>Generic Syntax Highlighter</strong>. As long
|
|
as you have a language file for almost any computer language - whether it be a
|
|
scripting language, object orientated, markup or anything in between - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can
|
|
highlight it! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is extremely customisable - the same source can be highlighted
|
|
multiple times in multiple ways - the same source even with a different language.
|
|
<abbr title="Generic Syntax Highlighter">GeSHi</abbr> outputs XHTML strict compliant code<sup id="fnref:xhtml-strict"><a href="#fn:xhtml-strict" rel="footnote">1</a></sup>, and can
|
|
make use of <abbr title="Cascading Style Sheets">CSS</abbr> to save on the amount of output. And what is the cost for all of this? You need
|
|
<a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a>. That’s all!</p>
|
|
|
|
<h3 id="features">1.1 Features</h3><div class="nav"><a href="#introduction">Previous</a> | <a href="#introduction">Top</a> | <a href="#about-geshi">Next</a></div>
|
|
|
|
<p>Here are some of the standout features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>:</p>
|
|
|
|
<dl>
|
|
<dt>Programmed in <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</dt>
|
|
<dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is coded entirely in <abbr title="PHP: HTML Preprocessor">PHP</abbr>. This means that where ever you have <abbr title="PHP: HTML Preprocessor">PHP</abbr>, you
|
|
can have <abbr title="Generic Syntax Highlighter">GeSHi</abbr>! Almost any free webhost supports <abbr title="PHP: HTML Preprocessor">PHP</abbr>, and <abbr title="Generic Syntax Highlighter">GeSHi</abbr> works fine with <abbr title="PHP: HTML Preprocessor">PHP</abbr> > 4.3.0<sup id="fnref:php-version-note"><a href="#fn:php-version-note" rel="footnote">2</a></sup>.</dd>
|
|
|
|
<dt>Support for many languages:</dt>
|
|
<dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> comes with more than <em>100</em> languages, including <abbr title="PHP: HTML Preprocessor">PHP</abbr>, <abbr title="Hypertext Markup Language">HTML</abbr>, <abbr title="Cascading Style Sheets">CSS</abbr>, Java, C, Lisp, <abbr title="Extensible Markup Language">XML</abbr>, Perl, Python,
|
|
<abbr title="Assembly language">ASM</abbr> and many more!</dd>
|
|
|
|
<dt>XHTML compliant output:</dt>
|
|
<dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> produces XHTML compliant output, using stylesheets, so you need not worry about
|
|
<abbr title="Generic Syntax Highlighter">GeSHi</abbr> ruining your claims to perfection in the standards department ;)</dd>
|
|
|
|
<dt>Highly customisable:</dt>
|
|
<dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> allows you to change the style of the output on the fly, use <abbr title="Cascading Style Sheets">CSS</abbr> classes or not, use an external
|
|
stylesheet or not, use line numbering, change the case of output keywords… the list goes on and on!</dd>
|
|
|
|
<dt>Flexible:</dt>
|
|
<dd>Unfortunately, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is quite load/time intensive for large blocks of code. However, you want speed?
|
|
Turn off any features you don’t like, pre-make a stylesheet and use <abbr title="Cascading Style Sheets">CSS</abbr> classes to reduce the amount of output and more -
|
|
it’s easy to strike a balance that suits you.</dd>
|
|
</dl>
|
|
|
|
<p>This is just a taste of what you get with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - the best syntax highlighter for the web in the world!</p>
|
|
|
|
<h3 id="about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h3><div class="nav"><a href="#features">Previous</a> | <a href="#introduction">Top</a> | <a href="#credits">Next</a></div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> started as a mod for the <a href="http://phpbb.net"><abbr title="PHP Burning Board">phpBB</abbr></a> forum system, to enable highlighting of more
|
|
languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an
|
|
entire project on its own. But now it has been released, work continues on a mod
|
|
for phpBB<sup id="fnref:phpbb-note"><a href="#fn:phpbb-note" rel="footnote">3</a></sup> - and hopefully for many forum systems, blogs and other web-based systems.</p>
|
|
|
|
<p>Several systems are using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now, including:</p>
|
|
|
|
<ul>
|
|
<li><a href="http://www.splitbrain.org/docuwiki/">Dokuwiki</a> - An advanced wiki engine</li>
|
|
<li><a href="http://gtk.php.net/">gtk.php.net</a> - Their manual uses <abbr title="Generic Syntax Highlighter">GeSHi</abbr> for syntax highlighting</li>
|
|
<li><a href="http://www.wordpress.org/">WordPress</a> - A powerful blogging system<sup id="fnref:plugin-only"><a href="#fn:plugin-only" rel="footnote">4</a></sup></li>
|
|
<li><a href="http://www.php-fusion.co.uk/"><abbr title="PHP: HTML Preprocessor">PHP</abbr>-Fusion</a> - A constantly evolving CMS</li>
|
|
<li><a href="http://cypreess.dione.cc/sqlm">SQL Manager</a> - A Postgres DBAL</li>
|
|
<li><a href="http://www.mamboserver.com/">Mambo</a> - A popular open source CMS</li>
|
|
<li><a href="http://www.mediawiki.org/">MediaWiki</a> - A leader in Wikis[^plugin-only]</li>
|
|
<li><a href="http://www.tikiwiki.org/">TikiWiki</a> - A megapowerful Wiki/CMS</li>
|
|
<li><a href="http://www.tikipro.org/">TikiPro</a> - Another powerful Wiki based on TikiWiki</li>
|
|
<li><a href="http://www.wikkawiki.org/">WikkaWiki</a> - A flexible and lightweight Wiki engine</li>
|
|
<li><a href="http://robloach.net/projects/phpscripts/rweb/">RWeb</a> - A site-building tool</li>
|
|
</ul>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is the original work of <a href="mailto:nigel@geshi.org">Nigel McNie</a>. The project was later handed over to <a href="mailto:BenBE@omorphia.de">Benny Baumann</a>.
|
|
Others have helped with aspects of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> also, they’re mentioned in the <a href="THANKS"><code>THANKS</code></a> file.</p>
|
|
|
|
<h3 id="credits">1.3 Credits</h3><div class="nav"><a href="#about-geshi">Previous</a> | <a href="#introduction">Top</a> | <a href="#feedback">Next</a></div>
|
|
|
|
<p>Many people have helped out with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, whether by creating language files, submitting bug
|
|
reports, suggesting new ideas or simply pointing out a new idea or something I’d missed. All
|
|
of these people have helped to build a better <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, you can see them in the <a href="THANKS"><code>THANKS</code></a>
|
|
file.</p>
|
|
|
|
<p>Do you want your name on this list? Why not make a language file, or submit a valid bug? Or perhaps help me with an
|
|
added feature I can’t get my head around, or suggest a new feature, or even port
|
|
<abbr title="Generic Syntax Highlighter">GeSHi</abbr> to anothe language? There’s lots you can do to help out, and I need it all :)</p>
|
|
|
|
<h3 id="feedback">1.4 Feedback</h3><div class="nav"><a href="#credits">Previous</a> | <a href="#introduction">Top</a> | <a href="#the-basics">Next</a></div>
|
|
|
|
<p>I need your feedback! <em>ANY</em>thing you have to say is fine, whether it be a query,
|
|
congratulations, a bug report or complaint, I don’t care! I want to make this software
|
|
the best it can be, and I need your help! You can contact me in the following ways:</p>
|
|
|
|
<ul>
|
|
<li><strong>E-mail:</strong> <a href="mailto:nigel@geshi.org">Nigel McNie</a>, <a href="mailto:BenBE@omorphia.de">Benny Baumann</a> or better yet: use the <a href="http://lists.sourceforge.net/mailman/listinfo/geshi-users">geshi-users</a> mailinglist</li>
|
|
<li><strong>Forums:</strong> <a href="http://sourceforge.net/forum?group_id=114997">Sourceforge.net Forums</a></li>
|
|
<li><strong>IRC:</strong> <a href="irc://irc.freenode.net/geshi">#geshi</a> on <a href="http://freenode.net">Freenode</a></li>
|
|
</ul>
|
|
|
|
<p>Remember, any help I am grateful for :)</p>
|
|
|
|
<h2 id="the-basics">2 The Basics</h2><div class="nav"><a href="#feedback">Previous</a> | <a href="#getting-geshi">Next</a></div>
|
|
|
|
<p>In this section, you’ll learn a bit about <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, how it works and what it uses, how to install it and how to use
|
|
it to perform basic highlighting.</p>
|
|
|
|
<h3 id="getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</h3><div class="nav"><a href="#the-basics">Previous</a> | <a href="#the-basics">Top</a> | <a href="#requirements">Next</a></div>
|
|
|
|
<p>If you’re reading this and don’t have <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, that’s a problem ;). So, how do you get your hands on it?</p>
|
|
|
|
<h4 id="requirements">2.1.1 Requirements</h4><div class="nav"><a href="#getting-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#downloading-geshi">Next</a></div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> requires the following to be installable:</p>
|
|
|
|
<ul>
|
|
<li><strong><a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a></strong>. It’s untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why
|
|
it won’t work with any version of <abbr title="PHP: HTML Preprocessor">PHP</abbr> above 4.3.0.</li>
|
|
<li><strong>Approximately 2 megabytes of space</strong>. The actual script is small - around 150K - but most of the size comes
|
|
from the large number of language files (over 100!). If you’re pushed for space, make sure you don’t upload to
|
|
your server the <code>docs/</code> or <code>contrib/</code> directory, and you may want to leave out any language files that don’t
|
|
take your fancy either.</li>
|
|
</ul>
|
|
|
|
<p>As you can see, the requirements are very small. If <abbr title="Generic Syntax Highlighter">GeSHi</abbr> does NOT work for you in a particular version of <abbr title="PHP: HTML Preprocessor">PHP</abbr>, let
|
|
me know why and I’ll fix it.</p>
|
|
|
|
<h4 id="downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#requirements">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#extracting-geshi">Next</a></div>
|
|
|
|
<p>There are several ways to get a copy of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. The first and easiest way of all is
|
|
visiting <a href="http://qbnz.com/highlighter/downloads.php">http://qbnz.com/highlighter/downloads.php</a> to obtain the latest version.
|
|
This is suitable especially when you plan on using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on an production website
|
|
or otherwise need a stable copy for flawless operation.</p>
|
|
|
|
<p>If you are somewhat more sophisticated or need a feature just recently implemented
|
|
you might consider getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> by downloading via SVN. There are multiple ways
|
|
for doing so and each one has its own advantages and disadvantages. Let’s cover
|
|
the various locations in the SVN you might download from:</p>
|
|
|
|
<ul>
|
|
<li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/tags/">https://geshi.svn.sourceforge.net/svnroot/geshi/tags/</a>:<br />
|
|
This directory holds all previous releases of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> each as a subdirectory. By downloading from here you can test your code with various old versions
|
|
in case something has been broken recently.</li>
|
|
<li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/">https://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/</a>:<br />
|
|
This directory is the right place for you if you want to have reasonably current versions of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> but need something that is stable. This directory
|
|
is updated once in a while between updates whenever there’s something new but which is already reasonably stable. This branch is used to form the
|
|
actual release once the work is done.</li>
|
|
<li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/">https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/</a>:<br />
|
|
This directory is the working directory where every new feature, patch or improvement is committed to. This directory is updated regularly, but is not
|
|
guaranteed to be tested and stable at all times. With this version you’ll always get the latest version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> out there, but beware of bugs! There
|
|
will be loads of them here! So this is absolutely <strong>not recommended</strong> for productive use!</li>
|
|
</ul>
|
|
|
|
<p>If you have choosen the right SVN directory for you do a quick
|
|
<code class="highlighted bash"><span class="kw2">svn</span> <span class="kw2">co</span> <span class="re1">$SVNPATH</span> geshi</code> where <code class="highlighted bash"><span class="re1">$SVNPATH</span></code> is one of the above paths and your desired version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be
|
|
downloaded into an subdirectory called “geshi”. If you got a version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>
|
|
you can go on installing as shown below.</p>
|
|
|
|
<h4 id="extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#downloading-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#installing-geshi">Next</a></div>
|
|
|
|
<p>Packages come in <code>.zip</code>, <code>.tar.gz</code> and <code>.tar.bz2</code> format, so there’s no complaining about whether it’s available for
|
|
you. *nix users probably want <code>.tar.gz</code> or <code>.tar.bz2</code> and windows users probably want <code>.zip</code>.
|
|
And those lucky to download it directly from SVN don’t even need to bother extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.</p>
|
|
|
|
<p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Linux (<code>.tar.gz</code>):</p>
|
|
|
|
<ol>
|
|
<li>Open a shell</li>
|
|
<li><code class="highlighted bash"><span class="kw3">cd</span></code> to the directory where the archive lies</li>
|
|
<li>Type <code class="highlighted bash"><span class="kw2">tar</span> <span class="re5">-xzvf</span> <span class="br0">[</span>filename<span class="br0">]</span></code> where <code>[filename]</code> is the name of the archive (typically <code>GeSHi-1.X.X.tar.gz</code>)</li>
|
|
<li><abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be extracted to its own directory</li>
|
|
</ol>
|
|
|
|
<p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Windows (<code>.zip</code>):</p>
|
|
|
|
<ol>
|
|
<li>Open Explorer</li>
|
|
<li>Navigate to the directory where the archive lies</li>
|
|
<li>Extract the archive. The method you use will depend on your configuration. Some people can right-click upon
|
|
the archive and select “Extract” from there, others may have to drag the archive and drop it upon an extraction program.</li>
|
|
</ol>
|
|
|
|
<p>To extract from <code>.zip</code> you’ll need an unzipping program - <code class="highlighted bash"><span class="kw2">unzip</span></code> in Linux, or 7-Zip, WinZip, WinRAR or similar for Windows.</p>
|
|
|
|
<h4 id="installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#extracting-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#basic-usage">Next</a></div>
|
|
|
|
<p>Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is a snap, even for those most new to <abbr title="PHP: HTML Preprocessor">PHP</abbr>. There’s no tricks involved. Honest!</p>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is nothing more than a <abbr title="PHP: HTML Preprocessor">PHP</abbr> class with related language support files. Those of you familiar with <abbr title="PHP: HTML Preprocessor">PHP</abbr> can then
|
|
guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you
|
|
like in this include path. I recommend that you put the language files in a subdirectory of your include path too -
|
|
perhaps the same subdirectory that geshi.php is in. <strong>Remember this path</strong> for later.</p>
|
|
|
|
<p>If you don’t know what an include path is, don’t worry. Simply copy <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to your webserver. So for example, say your
|
|
site is at <code>http://mysite.com/myfolder</code>, you can copy <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to your site so the directory structure is like this:</p>
|
|
|
|
<pre><code>http://mysite.com/myfolder/geshi/[language files]
|
|
http://mysite.com/myfolder/geshi.php
|
|
</code></pre>
|
|
|
|
<p>Or you can put it in any subdirectory you like:</p>
|
|
|
|
<pre><code>http://mysite.com/myfolder/includes/geshi/[language files]
|
|
http://mysite.com/myfolder/includes/geshi.php
|
|
</code></pre>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>When using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on a live site, the only directory required is the <code>geshi/</code> subdirectory. Both <code>contrib/</code> and <code>docs/</code> are
|
|
worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3).
|
|
I suggest you delete these directories from any live site they are on.</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="basic-usage">2.2 Basic Usage</h3><div class="nav"><a href="#installing-geshi">Previous</a> | <a href="#the-basics">Top</a> | <a href="#advanced-features">Next</a></div>
|
|
|
|
<p>Use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is very easy. Here’s a simple example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Include the GeSHi library</span></span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">include_once</span> <span class="st_h">'geshi.php'</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span><span class="co1">// Define some source to highlight, a language to use</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// and the path to the language files</span></span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'$foo = 45;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">for ( $i = 1; $i < $foo; $i++ )</span></span></span><span class="st_h">{</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> echo "$foo\n";</span></span></span><span class="st_h"> --$foo;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">}'</span><span class="sy0">;</span></span></span><span class="re0">$language</span> <span class="sy0">=</span> <span class="st_h">'php'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Create a GeSHi object</span></span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// And echo the result!</span></span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>As you can see, there’s only three really important lines:</p>
|
|
|
|
<p><code class="highlighted php"><span class="kw1">include_once</span><span class="br0">(</span><span class="st_h">'geshi.php'</span><span class="br0">)</span></code></p>
|
|
|
|
<p>This line includes the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> class for use</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>This line creates a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object, holding the source and the language you want to use for highlighting.</p>
|
|
|
|
<p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>This line spits out the result :)</p>
|
|
|
|
<p>So as you can see, simple usage of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is really easy. Just create a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object and get the code!</p>
|
|
|
|
<p>Since version 1.0.2, there is a function included with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> called <code>geshi_highlight</code>. This behaves exactly as the php
|
|
function <code class="highlighted php"><span class="kw3">highlight_string</span><span class="br0">(</span><span class="br0">)</span></code> behaves - all you do is pass it the language you want to use to highlight and the
|
|
path to the language files as well as the source. Here are some examples:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
</pre></td><td class="de1"><pre class="de1"><span class="co1">// Simply echo the highlighted code</span>
|
|
<span class="xtra li2"><span class="de2">geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Get the code back, for use later</span></span></span><span class="re0">$code</span> <span class="sy0">=</span> geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Check if there is an error with parsing this code</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><a href="http://www.php.net/ob_start"><span class="kw3">ob_start</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$result</span> <span class="sy0">=</span> geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'perl'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$code</span> <span class="sy0">=</span> <a href="http://www.php.net/ob_get_contents"><span class="kw3">ob_get_contents</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><a href="http://www.php.net/ob_end_clean"><span class="kw3">ob_end_clean</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">if</span> <span class="br0">(</span> <span class="sy0">!</span><span class="re0">$result</span> <span class="br0">)</span></span></span><span class="br0">{</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// There was an error with highlighting...</span></span></span><span class="br0">}</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">else</span></span></span><span class="br0">{</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// All OK :)</span></span></span><span class="br0">}</span></pre></td></tr></tbody></table>
|
|
|
|
<p>However, these are really simple examples and doesn’t even begin to cover all the advanced features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.
|
|
If you want to learn more, continue on to section 3: Advanced Features.</p>
|
|
|
|
<h2 id="advanced-features">3 Advanced Features</h2><div class="nav"><a href="#basic-usage">Previous</a> | <a href="#the-code-container">Next</a></div>
|
|
|
|
<p>This section documents the advanced features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - strict mode, using <abbr title="Cascading Style Sheets">CSS</abbr> classes, changing styles on the fly,
|
|
disabling highlighting of some things and more.</p>
|
|
|
|
<p>In this section there are many code snippets. For all of these, you should assume that the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> library has been
|
|
included, and a <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object has been created and is referenced by the variable <code class="highlighted php"><span class="re0">$geshi</span></code>. Normally, the
|
|
source, language and path used are arbitary.</p>
|
|
|
|
<h3 id="the-code-container">3.1 The Code Container</h3><div class="nav"><a href="#advanced-features">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#line-numbers">Next</a></div>
|
|
|
|
<p>The <strong>Code Container</strong> has a fundamental effect on the layout of your code before you even begin to style. What is the
|
|
Code Container? It’s the bit of markup that goes around your code to contain it. By default your code is surrounded
|
|
by a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>, but you can also specify a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>.</p>
|
|
|
|
<p>The <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> header is the default. If you’re familiar with <abbr title="Hypertext Markup Language">HTML</abbr> you’ll know that whitespace is rendered
|
|
“as is” by a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> element. The advantage for you is that if you use <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> the whitespace
|
|
you use will appear pretty much exactly how it is in the source, and what’s more <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won’t have to add a whole
|
|
lot of <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">br</span> <span class="sy0">/</span>></span></code>’s and non-breaking spaces (<code class="highlighted html4strict"><span class="sc1">&nbsp;</span></code>) to your code to indent it. This saves
|
|
you source code (and your valuable visitors waiting time and your bandwidth).</p>
|
|
|
|
<p>But if you don’t like <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> or it looks stupid in your browser no matter what styles you try to
|
|
apply to it or something similar, you might want to use a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> instead. A <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> will
|
|
result in more source - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will have to insert whitespace markup - but in return you can wrap long lines of code
|
|
that would otherwise have your browser’s horizontal scrollbar appear. Of course with <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> you can
|
|
<em>not</em> wrap lines if you please. The highlighter demo at the <a href="http://qbnz.com/highlighter"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> home page</a> uses the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>
|
|
approach for this reason.</p>
|
|
|
|
<p>At this stage there isn’t an option to wrap the code in <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> tags (unless you use the function
|
|
<code>geshi_highlight</code>), partly because of the inconsistent and unexpected ways stuff in <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> tags is
|
|
highlighted. Besides, <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> is an inline element. But this may become an option in future versions.</p>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.2 there is a new header type, that specifies that the code should not be wrapped in anything at all.</p>
|
|
|
|
<p>Another requested addition has been made in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.20 to force <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to create a block around the highlighted
|
|
source even if this wasn’t necessary, thus styles that are applied to the output of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can directly influence
|
|
the code only even if headers and footers are present.</p>
|
|
|
|
<p>To change/set the header to use, you call the <strong><code class="highlighted php">set_header_type<span class="br0">(</span><span class="br0">)</span></code></strong> method. It has one required argument which
|
|
defines the container type. Available are:</p>
|
|
|
|
<dl>
|
|
<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_DIV<span class="br0">)</span><span class="sy0">;</span></code></dt>
|
|
<dd>
|
|
<p>Puts a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> around both, code and linenumbers. Whitespace is converted to <code class="highlighted html4strict"><span class="sc1">&nbsp;</span></code>
|
|
sequences (i.e. one whitespace and the html entity of a non-breaking whitespace) to keep your indendation level
|
|
in tact. Tabs are converted as well and you can manually <a href="#setting-tab-width">define the tab-width</a>. Lines are automatically wrapped.
|
|
Linenumbers are created using an ordered list.</p>
|
|
</dd>
|
|
|
|
<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE<span class="br0">)</span><span class="sy0">;</span></code></dt>
|
|
<dd>
|
|
<p>Wraps code and linenumbers in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> container. This way whitespace is kept as-is and thus
|
|
this header produces less overhead then the <code>GESHI_HEADER_DIV</code> header type. Since linenumbers are still
|
|
created using an ordered list this header type produces <strong>invalid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p>
|
|
</dd>
|
|
|
|
<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE_VALID<span class="br0">)</span><span class="sy0">;</span></code></dt>
|
|
<dd><em><small>Available since 1.0.8</small></em></dd>
|
|
|
|
<dd>
|
|
<p>When linenumbers are disabled, this behaves just like <code>GESHI_HEADER_PRE</code>. In the other case though, a
|
|
<code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> is used to wrap the code and linenumbers and the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> is put inside the list
|
|
items (<code class="highlighted html4strict"><span class="sc2"><<span class="kw2">li</span>></span></code>). This means slightly larger <abbr title="Hypertext Markup Language">HTML</abbr> output compared to <code>GESHI_HEADER_PRE</code>, but the
|
|
output is <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p>
|
|
</dd>
|
|
|
|
<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE_TABLE<span class="br0">)</span><span class="sy0">;</span></code></dt>
|
|
<dd><em><small>Available since 1.0.8</small></em></dd>
|
|
|
|
<dd>
|
|
<p>Once again a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> tag wraps the output. This time though no ordered list is used to create an ordered list,
|
|
but instead we use a table with two cells in a single row. The left cell contains a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> tag which holds all
|
|
linenumbers. The second cell holds the highlighted code, also wrapped in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> tag, just like with
|
|
<code>GESHI_HEADER_PRE</code>.</p>
|
|
</dd>
|
|
|
|
<dd>
|
|
<p>This produces <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong> and works around the nasty selection behaviour of Firefox and other Gecko based
|
|
browsers, see <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1651996&group_id=114997&atid=670231">SF#1651996</a> for more information.</p>
|
|
</dd>
|
|
|
|
<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_NONE<span class="br0">)</span><span class="sy0">;</span></code></dt>
|
|
<dd><em><small>Available since 1.0.7.2</small></em></dd>
|
|
|
|
<dd>
|
|
<p>No wrapper is added.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>Those are the only arguments you should pass to <code class="highlighted php">set_header_type</code>. Passing anything else may cause inconsistencies
|
|
in what is used as the Code Container (although it <em>should</em> simply use a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>). Better not to risk it.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>GESHI_HEADER_DIV, GESHI_HEADER_PRE, etc. are <em>constants</em>, so don’t put them in strings!</p>
|
|
|
|
</div>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>The default styles for the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> and <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> <em>will be different</em>, especially if you use
|
|
line numbers!</p>
|
|
|
|
<p>I have found that a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> results in code that is smaller than for that of a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, you
|
|
should rectify this difference by using <strong><code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code></strong> if you need to. But be aware of this
|
|
difference for if you are changing the header type!</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="line-numbers">3.2 Line Numbers</h3><div class="nav"><a href="#the-code-container">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#enabling-line-numbers">Next</a></div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> has the ability to add line numbers to your code (see the demo available at <a href="http://qbnz.com/highlighter/demo.php">http://qbnz.com/highlighter/demo.php</a>
|
|
to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the
|
|
fancy line numbers feature.</p>
|
|
|
|
<p>There are multiple methods for highlighting line numbers, but none of them is perfect. Of the various ways to highlight
|
|
line numbers <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself implements 2 different approaches, but allows you
|
|
by the way it generates the code to do the line numbers yourself if necessary - but more on this case later.</p>
|
|
|
|
<p>The easiest approach is using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">ol</span>></span></code>-tag for generating the line numbers, but
|
|
even though this is the easiest one there’s a big drawback with this one when
|
|
using Gecko-engine based browsers like Firefox or Konqueror. In these browsers
|
|
this approach will select the line numbers along with the code or will include extra markup in the selection.</p>
|
|
|
|
<p>The other approach has been implemented in the 1.0.8 release of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> with the <code class="highlighted php">GESHI_HEADER_PRE_TABLE</code> header type.
|
|
When using this header type the line numbers are rendered apart from the source
|
|
in a table cell while the actual source is formatted as if the <code class="highlighted php">GESHI_HEADER_PRE</code> header had been used.
|
|
This approach works with Firefox and other Gecko-based browsers so far although extreme care
|
|
has to be taken when applying styles to your source as Windows has some fonts
|
|
where bold font is of different height than normal or italic text of the same fontface.</p>
|
|
|
|
<h4 id="enabling-line-numbers">3.2.1 Enabling Line Numbers</h4><div class="nav"><a href="#line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#styling-line-numbers">Next</a></div>
|
|
|
|
<p>To highlight a source with line numbers, you call the <code class="highlighted php">enable_line_numbers<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_line_numbers</span><span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span><span class="sy0">;</span></code>
|
|
Where <code class="highlighted php"><span class="re0">$flag</span></code> is one of the following:</p>
|
|
|
|
<ul>
|
|
<li><code>GESHI_NORMAL_LINE_NUMBERS</code> - Use normal line numbering</li>
|
|
<li><code>GESHI_FANCY_LINE_NUMBERS</code> - Use fancy line numbering</li>
|
|
<li><code>GESHI_NO_LINE_NUMBERS</code> - Disable line numbers (default)</li>
|
|
</ul>
|
|
|
|
<p>Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers
|
|
means that you can specify a different style for each n<sup>th</sup> line number. You change the value of n (default 5):</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_line_numbers</span><span class="br0">(</span>GESHI_FANCY_LINE_NUMBERS<span class="sy0">,</span> <span class="nu0">37</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>The second parameter is not used in any other mode. Setting it to <code>0</code> is the same as simply using normal line numbers.
|
|
Setting it to <code>1</code> applies the fancy style to every line number.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>The values above are CONSTANTS - so don’t put them in strings!</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="styling-line-numbers">3.2.2 Styling Line Numbers</h4><div class="nav"><a href="#enabling-line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#starting-line-numbers">Next</a></div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.2, line numbers are added by the use of ordered lists. This solves the old issues of line number
|
|
styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For
|
|
example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line
|
|
numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the
|
|
whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is
|
|
quite a bit more <abbr title="Hypertext Markup Language">HTML</abbr> involved. So think carefully about these things before you enable line numbers.</p>
|
|
|
|
<p>Now, onto how to style line numbers:</p>
|
|
|
|
<p>Styles are set for line numbers using the <code class="highlighted php">set_line_style<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: #fcfcfc;'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>If you’re using Fancy Line Numbers mode, you pass a second string for the style of the n<sup>th</sup> line number:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: #fcfcfc;'</span><span class="sy0">,</span> <span class="st_h">'background: #f0f0f0;'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>The second style will have no effect if you’re not using Fancy Line Numbers mode.</p>
|
|
|
|
<p>By default, the styles you pass overwrite the current styles. Add a boolean “true” after the styles you specify to combine them with the current styles:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: red;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// or, for fancy line numbers</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: red;'</span><span class="sy0">,</span> <span class="st_h">'background: blue;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Due to a bug with Firefox the issue that should have been fixed with 1.0.2 has reappeared in another form as Firefox
|
|
includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it’s
|
|
used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is
|
|
to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more
|
|
have a look at the <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1651996&group_id=114997&atid=670231">SF.net BugTracker Issue #1651996</a>. This will hopefully be fixed in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version 1.2
|
|
or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first!</p>
|
|
|
|
</div>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>When you set line number styles, the code will inherit those styles! This is the main issue to come out of the 1.0.2
|
|
release. If you want your code to be styled in a predictable manner, you’ll have to call the <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code>
|
|
method to rectify this problem.</p>
|
|
|
|
<p>Note also that you cannot apply background colours to line numbers unless you use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code>.
|
|
Here’s how you’d style:</p>
|
|
|
|
<ol>
|
|
<li><p>Use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code> to style the overall code block. For example, you can set the border
|
|
style/colour, any margins and padding etc. using this method. <strong>In addition:</strong> set the background colour for
|
|
all the line numbers using this method.</p></li>
|
|
<li><p>Use <code class="highlighted php">set_line_style<span class="br0">(</span><span class="br0">)</span></code> to style the foreground of the line numbers. For example, you can set the colour,
|
|
weight, font, padding etc. of the line numbers using this method.</p></li>
|
|
<li><p>Use <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> to explicitly override the styles you set for line numbers using
|
|
<code class="highlighted php">set_line_style</code>. For example, if you’d set the line numbers to be bold (or even if you’d only set
|
|
the fancy line number style to be bold), and you didn’t actually want your code to be bold, you’d make sure
|
|
that <code class="highlighted css"><span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">normal</span><span class="sy0">;</span></code> was in the stylesheet rule you passed to <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code>.</p>
|
|
|
|
<p>This is the one major change from <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.1 - make sure you become familiar with this, and make sure that you check
|
|
any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it.</p></li>
|
|
</ol>
|
|
|
|
</div>
|
|
|
|
<h4 id="starting-line-numbers">3.2.3 Choosing a Start Number</h4><div class="nav"><a href="#styling-line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#using-css-classes">Next</a></div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.2, you can now make the line numbers start at any number, rather than just 1. This feature is useful
|
|
if you’re highlighting code from a file from around a certain line number in that file, as an additional guide to
|
|
those who will view the code. You set the line numbers by calling the <code class="highlighted php">start_line_numbers_at<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">start_line_numbers_at</span><span class="br0">(</span><span class="re0">$number</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$number</span></code> must be a positive integer (or zero). If it is not, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will convert it anyway.</p>
|
|
|
|
<p>If you have not enabled line numbers, this will have no effect.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>Although I’d like <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to have XHTML strict compliance, this feature will break compliancy (however transitional
|
|
compliancy remains). This is because the only widely supported way to change the start value for line numbers is
|
|
by using the <strong>start=”number”</strong> attribute of the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">ol</span>></span></code> tag. Although <abbr title="Cascading Style Sheets">CSS</abbr> does provide a mechanism for
|
|
doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this).</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</h3><div class="nav"><a href="#starting-line-numbers">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#enabling-css-classes">Next</a></div>
|
|
|
|
<p>Using <abbr title="Cascading Style Sheets">CSS</abbr> to highlight your code instead of in-lining the styles is a definate bonus. Not only is it more compliant
|
|
(the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping
|
|
90% saving - which makes a *huge* difference to those unlucky of us on modems!</p>
|
|
|
|
<h4 id="enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</h4><div class="nav"><a href="#using-css-classes">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#setting-css-class-id">Next</a></div>
|
|
|
|
<p>By default, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> doesn’t use the classes, so it’s easy just to whack out some highlighted code if you need without
|
|
worrying about stylesheets. However, if you’re a bit more organised about it, you should use the classes ;). To turn
|
|
the use of classes on, you call the <code class="highlighted php">enable_classes<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>If you want to turn classes OFF for some reason later:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>If classes are enabled when <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code> is called, then the resultant source will use <abbr title="Cascading Style Sheets">CSS</abbr> classes in the
|
|
output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will
|
|
be very noticeable, and what’s more you can use one stylesheet for several different highlights on the same page. In
|
|
fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets
|
|
are cached by browsers).</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should
|
|
therefore turn <abbr title="Cascading Style Sheets">CSS</abbr> classes ON to avoid those issues. Although latest reworks in 1.0.8 should fix most of those issues.</p>
|
|
|
|
</div>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>This should be the very first method you call after creating a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object! That way, various other methods
|
|
can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the
|
|
code, but this may result in unexpected behaviour.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</h4><div class="nav"><a href="#enabling-css-classes">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#getting-stylesheet">Next</a></div>
|
|
|
|
<p>You can set an overall <abbr title="Cascading Style Sheets">CSS</abbr> class and id for the code. This is a good feature that allows you to use the same
|
|
stylesheet for many different snippets of code. You call <code class="highlighted php">set_overall_class<span class="br0">(</span><span class="br0">)</span></code> and <code class="highlighted php">set_overall_id</code>
|
|
to accomplish this:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_overall_class</span><span class="br0">(</span><span class="st_h">'mycode'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_overall_id</span><span class="br0">(</span><span class="st_h">'dk48ck'</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>The default classname is the name of the language being used. This means you can use just the one stylesheet for all
|
|
sources that use the same language, and incidentally means that you probably won’t have to call these methods too often.</p>
|
|
|
|
<p><abbr title="Cascading Style Sheets">CSS</abbr> IDs are supposed to be unique, and you should use them as such. Basically, you can specify an ID for your code
|
|
and then use that ID to highlight that code in a unique way. You’d do this for a block of code that you expressly
|
|
wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example).</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the class name will always include the language name used for highlighting.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="getting-stylesheet">3.3.3 Getting the stylesheet for your code</h4><div class="nav"><a href="#setting-css-class-id">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#using-an-external-stylesheet">Next</a></div>
|
|
|
|
<p>The other half of using <abbr title="Cascading Style Sheets">CSS</abbr> classes is getting the stylesheet for use with the classes. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> makes it very easy to
|
|
get a stylesheet for your code, with one easy method call:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
</pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Here we have code that will spit out a header for</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// a stylesheet. For example:</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'<html></span></span></span><span class="st_h"><head><title>Code</title></span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"><style type="text/css"></span></span></span><span class="st_h"><!--'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Echo out the stylesheet for this code block</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// And continue echoing the page</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="st_h">'--></span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"></style></head></span></span></span><span class="st_h"><body>'</span><span class="sy0">;</span></pre></td></tr></tbody></table>
|
|
|
|
<p>The <code class="highlighted php">get_stylesheet<span class="br0">(</span><span class="br0">)</span></code> method gets the stylesheet for your code in one easy call. All you need to do
|
|
is output it in the correct place. As you can also see, you don’t even have to enable class usage to get the
|
|
stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later.</p>
|
|
|
|
<p>By default, <code class="highlighted php">get_stylesheet<span class="br0">(</span><span class="br0">)</span></code> tries to echo the least amount of code possible. Although currently it doesn’t
|
|
check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the
|
|
present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related
|
|
<abbr title="Cascading Style Sheets">CSS</abbr> will not be outputted. This may be a bad thing for you perhaps you’re going to use the stylesheet for many blocks
|
|
of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you’re
|
|
building an external stylesheet and want all lexics included. So to get around this problem, you do this:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>This turns economy mode off, and all of the stylesheet will be outputted regardless.</p>
|
|
|
|
<p>Now lets say you have several snippets of code, using the same language. In most of them you don’t mind if they’re
|
|
highlighted the same way (in fact, that’s exactly what you want) but in one of them you’d like the source to be
|
|
highlighted differently. Here’s how you can do that:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span>29
|
|
<span class="xtra li2"><span class="de2">30</span></span>31
|
|
<span class="xtra li2"><span class="de2">32</span></span>33
|
|
<span class="xtra li2"><span class="de2">34</span></span>35
|
|
<span class="xtra li2"><span class="de2">36</span></span>37
|
|
<span class="xtra li2"><span class="de2">38</span></span>39
|
|
<span class="xtra li2"><span class="de2">40</span></span>41
|
|
<span class="xtra li2"><span class="de2">42</span></span>43
|
|
<span class="xtra li2"><span class="de2">44</span></span>45
|
|
<span class="xtra li2"><span class="de2">46</span></span>47
|
|
<span class="xtra li2"><span class="de2">48</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">// assume path is the default "geshi/" relative to the current directory</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi1</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi2</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source2</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source3</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Turn classes on for all sources</span></span></span><span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi2</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Make $geshi3 unique</span></span></span><span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">set_overall_id</span><span class="br0">(</span><span class="st_h">'different'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span><span class="co1">// Methods are called on $geshi3 to change styles...</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'<html></span></span></span><span class="st_h"><head><title>Code</title></span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="st_h"><style type="text/css"></span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"><!--</span></span></span><span class="st_h">'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Get the nessecary stylesheets</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'--></span></span></span><span class="st_h"></style></head></span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"><body>'</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="st_h">'Code snippet 1:'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="kw1">echo</span> <span class="st_h">'Code snippet 2 (same highlighting as 1):'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="re0">$geshi2</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'Code snippet 3 (DIFFERENT highlighting):'</span><span class="sy0">;</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'</body></html>'</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>Before version 1.0.2, you needed to set the class of the code you wanted to be unique to the empty string. This
|
|
limitation has been removed in version 1.0.2 - if you set the ID of a block of code, all styling will be done based
|
|
on that ID alone.</p>
|
|
|
|
<h4 id="using-an-external-stylesheet">3.3.4 Using an External Stylesheet</h4><div class="nav"><a href="#getting-stylesheet">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#changing-styles">Next</a></div>
|
|
|
|
<p>An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some
|
|
drawbacks with this. To use an external stylesheet, it’s up to you to link it in to your document, normally with
|
|
the following <abbr title="Hypertext Markup Language">HTML</abbr>:</p>
|
|
|
|
<table class="html4strict geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">HTML code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
</pre></td><td class="de1"><pre class="de1"><span class="sc2"><<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></span>
|
|
<span class="xtra li2"><span class="de2"><span class="sc2"><<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>></span></span></span><span class="sc2"><<a href="http://december.com/html/4/element/link.html"><span class="kw2">link</span></a> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">"stylesheet"</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">"text/css"</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">"url_to_stylesheet.css"</span> <span class="sy0">/</span>></span></pre></td></tr></tbody></table>
|
|
|
|
<p>In your external stylesheet you put <abbr title="Cascading Style Sheets">CSS</abbr> declarations for your code. Then just make sure you’re using the correct class (use
|
|
<code class="highlighted php">set_overall_class<span class="br0">(</span><span class="br0">)</span></code> to ensure this) and this should work fine.</p>
|
|
|
|
<p>This method is great if you don’t mind the source always being highlighted the same (in particular, if you’re making a
|
|
plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and
|
|
your bandwidth, and it’s relatively easy to just change the stylesheet should you need to. However, using this will render
|
|
the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically
|
|
generated. You can still disable highlighting of certain lexics dynamically, however.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>As of version 1.0.2, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> comes with a <code>contrib/</code> directory, which in it contains a “wizard” script for creating
|
|
a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the
|
|
basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any
|
|
language that uses them (<abbr title="PHP: HTML Preprocessor">PHP</abbr> and <abbr title="Extensible Markup Language">XML</abbr> are two languages that use them), and keyword-link styles. However, this script
|
|
should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this
|
|
script in version 1.2!</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="changing-styles">3.4 Changing Styles</h3><div class="nav"><a href="#using-an-external-stylesheet">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#the-overall-styles">Next</a></div>
|
|
|
|
<p>One of the more powerful features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is the ability to change the style of the output dynamically. Why be chained
|
|
to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and
|
|
can even say whether something is to be highlighted at all.</p>
|
|
|
|
<p>If you’re confused about “styles”, you probably want to have a quick tutorial in them so you know what you can do with
|
|
them. Checkout the homepage of <abbr title="Cascading Style Sheets">CSS</abbr> at <a href="http://www.w3.org/Style/CSS">http://www.w3.org/Style/CSS</a>.</p>
|
|
|
|
<h4 id="the-overall-styles">3.4.1 The Overall Styles</h4><div class="nav"><a href="#changing-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#line-number-styles">Next</a></div>
|
|
|
|
<p>The code outputted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is either in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> or a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> (see the section entitled “The
|
|
Code Container”), and this can be styled.</p>
|
|
|
|
<p><code>$geshi->set_overall_style('... styles ...');</code>
|
|
Where styles is a string containing valid <abbr title="Cascading Style Sheets">CSS</abbr> declarations. By default, these styles overwrite the current styles, but you can change this by adding a second parameter:</p>
|
|
|
|
<p><code>$geshi->set_overall_style('color: blue;', true);</code>
|
|
The default styles “shine through” wherever anything isn’t highlighted. Also, you can apply more advanced styles, like position: (fixed|relative) etc, because a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>/<code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> is a block level element.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Remember that a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> will by default have a larger font size than a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>, as discussed in the section <a href="#the-code-container">“The Code Container”</a>.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="line-number-styles">3.4.2 Line Number Styles</h4><div class="nav"><a href="#the-overall-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-keyword-styles">Next</a></div>
|
|
|
|
<p>You may wish to refer to the section [Styling Line Numbers][1] before reading this section.</p>
|
|
|
|
<p>As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is
|
|
different. In particular, now you cannot set the background style of the fancy line numbers to be different from that
|
|
of the normal line numbers.</p>
|
|
|
|
<p>Line number styles are set by using the method <code class="highlighted php">set_line_style</code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="re0">$style1</span><span class="sy0">,</span> <span class="re0">$style2</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$style1</span></code> is the style of the line numbers by default, and <code class="highlighted php"><span class="re0">$style2</span></code> is the style of the fancy line numbers.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>Things have changed since 1.0.1! This note is <strong>very</strong> important - please make sure you check this twice before
|
|
complaining about line numbers!</p>
|
|
|
|
<p>Because of the way that ordered lists are done in <abbr title="Hypertext Markup Language">HTML</abbr>, there really isn’t normally a way to style the actual
|
|
<em>numbers</em> in the list. I’ve cheated somewhat with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - I’ve made it possible to use <abbr title="Cascading Style Sheets">CSS</abbr> to style the <em>foreground</em> of
|
|
the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to
|
|
have a pretty background, you <strong>must</strong> use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code> to do this, and use <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code>
|
|
to style the actual code! This is explained in the section above: <a href="#styling-line-numbers">Styling Line Numbers</a>.</p>
|
|
|
|
<p>In addition, the styles for fancy line numbers <em>is now the difference between the normal styles and the styles you want
|
|
to achieve</em>. For example, in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> prior to 1.0.2 you may have done this to style line numbers:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'color: red; font-weight: bold;'</span><span class="sy0">,</span> <span class="st_h">'color: green; font-weight: bold'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Now you instead can do this:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'color: red; font-weight: bold;'</span><span class="sy0">,</span> <span class="st_h">'color: green;'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>The <code class="highlighted css"><span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span></code> will automatically carry through to the fancy styles. This is actually a small
|
|
saving in code - but the difference may be confusing for anyone using 1.0.1 at first.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="setting-keyword-styles">3.4.3 Setting Keyword Styles</h4><div class="nav"><a href="#line-number-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-comment-styles">Next</a></div>
|
|
|
|
<p>Perhaps the most regular change you will make will be to the styles of a keyword set. In order to change the styles for
|
|
a particular set, you’ll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1
|
|
contains keywords like <code>if</code>, <code>while</code>, <code>do</code>, <code>for</code>, <code>switch</code> etc, set 2 contains <code>null</code>, <code>false</code>, <code>true</code> etc, set 3
|
|
contains function inbuilt into the language (<code>echo</code>, <code>htmlspecialchars</code> etc. in <abbr title="PHP: HTML Preprocessor">PHP</abbr>) and set 4 contains data types and
|
|
similar variable modifiers: <code>int</code>, <code>double</code>, <code>real</code>, <code>static</code> etc. However these things are not fixed, and you should
|
|
check the language file to see what key you want. Having a familiarity with a language file is definately a plus for
|
|
using it.</p>
|
|
|
|
<p>To change the styles for a keyword set, call the <code class="highlighted php">set_keyword_group_style<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_keyword_group_style</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$group</span></code> is the group to change the styles for and <code class="highlighted php"><span class="re0">$styles</span></code> is a string containing the styles
|
|
to apply to that group.</p>
|
|
|
|
<p>By default, the styles you pass overwrite the current styles. Add a boolean <code class="highlighted php"><span class="kw4">true</span></code> after the styles you specify to
|
|
combine them with the current styles:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_keyword_group_style</span><span class="br0">(</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st_h">'color: white;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<h4 id="setting-comment-styles">3.4.4 Setting Comment Styles</h4><div class="nav"><a href="#setting-keyword-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-other-styles">Next</a></div>
|
|
|
|
<p>To change the styles for a comment group, call the <code class="highlighted php">set_comments_style<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$group</span></code> is either a number corresponding to a single-line comment, or the string <code class="highlighted php"><span class="st_h">'MULTI'</span></code> to
|
|
specify multiline comments:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'font-style: italic;'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="st_h">'MULTI'</span><span class="sy0">,</span> <span class="st_h">'display: hidden;'</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>By default, the styles you pass overwrite the current styles. Add a boolean <code class="highlighted php"><span class="kw4">true</span></code> after the styles you specify to
|
|
combine them with the current styles:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'font-weight: 100;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>In 1.0.7.22 a new kind of Comments called “COMMENT_REGEXP” has been added. Those are handled by setting single
|
|
line comment styles.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="setting-other-styles">3.4.5 Setting Other Styles</h4><div class="nav"><a href="#setting-comment-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#case-caps">Next</a></div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> can highlight many other aspects of your source other than just keywords and comments. Strings, Numbers, Methods
|
|
and Brackets among other things can all also be highlighted. Here are the related methods:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
</pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_escape_characters_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_symbols_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_strings_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_numbers_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_methods_style</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_regexps_style</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$styles</span></code> is a string containing valid stylesheet declarations, while <code class="highlighted php"><span class="re0">$preserve_defaults</span></code> should be set
|
|
to <code class="highlighted php"><span class="kw4">true</span></code> if you want your styles to be merged with the previous styles. In the case of <code class="highlighted php">set_methods_style<span class="br0">(</span><span class="br0">)</span></code>,
|
|
you should select a group to set the styles of, check the language files for the number used for each “object splitter”.</p>
|
|
|
|
<p>Like this was possible for <code class="highlighted php">set_method_style</code> a new parameter has been introduced for
|
|
<code class="highlighted php">set_symbols_style</code> too which allows you to select the group of symbols for which you’d like to change your
|
|
style. <code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_symbols_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$group</span><span class="br0">]</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></code> If the third parameter is not
|
|
given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket
|
|
style, i.e. a pass-through call to <code class="highlighted php">set_bracket_style</code> is made.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 multiple styles for strings and numbers are supported, though the API doesn’t provide full access yet.</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="case-caps">3.5 Case Sensitivity and Auto Casing</h3><div class="nav"><a href="#setting-other-styles">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#auto-caps-nocaps">Next</a></div>
|
|
|
|
<p>Controlling the case of the outputted source is an easy job with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. You can control which keywords are converted in
|
|
case, and also control whether keywords are checked in a case sensitive manner.</p>
|
|
|
|
<h4 id="auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</h4><div class="nav"><a href="#case-caps">Previous</a> | <a href="#case-caps">Top</a> | <a href="#setting-case-sensitivity">Next</a></div>
|
|
|
|
<p>Auto-Caps/NoCaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are
|
|
styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it’s capatalisation, and SQL is another
|
|
language well known for using caps for readability.</p>
|
|
|
|
<p>To change what case lexics are rendered in, you call the <code class="highlighted php">set_case_keywords<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span><span class="re0">$caps_modifier</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>The valid values to pass to this method are:</p>
|
|
|
|
<ul>
|
|
<li><code>GESHI_CAPS_NO_CHANGE</code> - Don’t change the case of any lexics, leave as they are found</li>
|
|
<li><code>GESHI_CAPS_UPPER</code> - Uppercase all lexics found</li>
|
|
<li><code>GESHI_CAPS_LOWER</code> - Lowercase all lexics found</li>
|
|
</ul>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>When I say “lexic”, I mean “keywords”. <strong>Any</strong> keyword in <strong>any</strong> keyword array will be modified using this option!
|
|
This is one small area of inflexibility I hope to fix in 1.2.X.</p>
|
|
|
|
</div>
|
|
|
|
<p>I suspect this will only be used to specify <code>GESHI_CAPS_NO_CHANGE</code> to turn off autocaps for languages like SQL
|
|
and BASIC variants, like so:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'sql'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span>GESHI_CAPS_NO_CHANGE<span class="br0">)</span><span class="sy0">;</span> <span class="co1">// don't want keywords capatalised</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>All the same, it can be used for some interesting effects:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Anyone who's used java knows how picky it is about CapitalLetters...</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span>GESHI_CAPS_LOWER<span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// No *way* the source will look right now ;)</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<h4 id="setting-case-sensitivity">3.5.2 Setting Case Sensitivity</h4><div class="nav"><a href="#auto-caps-nocaps">Previous</a> | <a href="#case-caps">Top</a> | <a href="#changing-config">Next</a></div>
|
|
|
|
<p>Some languages, like <abbr title="PHP: HTML Preprocessor">PHP</abbr>, don’t mind what case function names and keywords are in, while others, like Java, depend on
|
|
such pickiness to maintain their bad reputations ;). In any event, you can use the <code class="highlighted php">set_case_sensitivity<span class="br0">(</span><span class="br0">)</span></code>
|
|
to change the case sensitiveness of a particular keyword group from the default:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_sensitivity</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$sensitivity</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key of the group for which you wish to change case sensitivness for (see the language file
|
|
for that language), and <code class="highlighted php"><span class="re0">$sensitivity</span></code> is a boolean value - <code class="highlighted php"><span class="kw4">true</span></code> if the keyword is case sensitive, and
|
|
<code class="highlighted php"><span class="kw4">false</span></code> if not.</p>
|
|
|
|
<h3 id="changing-config">3.6 Changing the Source, Language, Config Options</h3><div class="nav"><a href="#setting-case-sensitivity">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#changing-the-source">Next</a></div>
|
|
|
|
<p>What happens if you want to change the source to be highlighted on the fly, or the language. Or if you want to specify
|
|
any of those basic fields after you’ve created a <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object? Well, that’s where these methods come in.</p>
|
|
|
|
<h4 id="changing-the-source">3.6.1 Changing the Source Code</h4><div class="nav"><a href="#changing-config">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-language">Next</a></div>
|
|
|
|
<p>To change the source code, you call the <code class="highlighted php">set_source<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$newsource</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Method calls to specify various options...</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code1</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$source2</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$code2</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<h4 id="changing-the-language">3.6.2 Changing the Language</h4><div class="nav"><a href="#changing-the-source">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-path">Next</a></div>
|
|
|
|
<p>What happens if you want to change the language used for highlighting? Just call <code class="highlighted php">set_language<span class="br0">(</span><span class="br0">)</span></code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'newlanguage'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Highlight GeSHi's output</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$code</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'html4strict'</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.5, you can use the method <code class="highlighted php">load_from_file<span class="br0">(</span><span class="br0">)</span></code> to load the source code and language from a file.
|
|
Simply pass this method a file name and it will attempt to load the source and set the language.</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">load_from_file</span><span class="br0">(</span><span class="re0">$file_name</span><span class="sy0">,</span> <span class="re0">$lookup</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$file_name</span></code> is the file name to use, and <code class="highlighted php"><span class="re0">$lookup</span></code> is an optional parameter that contains a lookup
|
|
array to use for deciding which language to choose. You can use this to override <abbr title="Generic Syntax Highlighter">GeSHi</abbr>’s default lookup array, which
|
|
may not contain the extension of the file you’re after, or perhaps does have your extension but under a different
|
|
language. The lookup array is of the form:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'lang_name'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'extension'</span><span class="sy0">,</span> <span class="st_h">'extension'</span><span class="sy0">,</span> <span class="sy0">...</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'lang_name'</span> <span class="sy0">...</span>
|
|
<span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>Also, you can use the method <code class="highlighted php">get_language_name_from_extension<span class="br0">(</span><span class="br0">)</span></code> if you need to convert a file extension
|
|
to a valid language name. This method will return the empty string if it could not find a match in the lookup, and
|
|
like <code class="highlighted php">load_from_file</code> it accepts an optional second parameter that contains a lookup array.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Names are case-insensitive - they will be converted to lower case to match a language file however. So if you’re
|
|
making a language file, remember it should have a name in lower case.</p>
|
|
|
|
</div>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>What you pass to this method is the name of a language file, minus the .php extension. If you’re writing a plugin
|
|
for a particular application, it’s up to you to somehow convert user input into a valid language name.</p>
|
|
|
|
</div>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 this function does not reset language settings for an already loaded language. If you want
|
|
to highlight code in the same language with different settings add the optional
|
|
<code class="highlighted php"><span class="re0">$force_reset</span> parameter</code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'language'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
</div>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> <code class="highlighted php"><span class="kw1">include</span><span class="br0">(</span><span class="br0">)</span></code>s the language file, so be careful to make sure that users can’t pass some wierd
|
|
language name to include any old script! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> tries to strip non-valid characters out of a language name, but
|
|
you should always do this your self anyway. In particular, language files are always lower-case, with either
|
|
alphanumeric characters, dashes or underscores in their name.</p>
|
|
|
|
<p>At the very least, strip “/” characters out of a language name.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="changing-the-path">3.6.3 Changing the Language Path</h4><div class="nav"><a href="#changing-the-language">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-charset">Next</a></div>
|
|
|
|
<p>What happens if all of a sudden you want to use language files from a different directory from the current
|
|
language file location? You call the <code class="highlighted php">set_language_path<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language_path</span><span class="br0">(</span><span class="re0">$newpath</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>It doesn’t matter whether the path has a trailing slash after it or not - only that it points to a valid folder.
|
|
If it doesn’t, that’s your tough luck ;)</p>
|
|
|
|
<h4 id="changing-the-charset">3.6.4 Changing the Character Set</h4><div class="nav"><a href="#changing-the-path">Previous</a> | <a href="#changing-config">Top</a> | <a href="#error-handling">Next</a></div>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Although <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself does not require to know the exact charset of your source you
|
|
will need to set this option when processing sources where multi-byte characters can occur.
|
|
As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18 internally a rewrite of <code class="highlighted php"><span class="kw3">htmlspecialchars</span></code> is used
|
|
due to a security flaw in that function that is unpatched in even the most recent PHP4 versions and in PHP5 < 5.2.
|
|
Although this does no longer explicitely require the charset it is required again
|
|
as of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 to properly handle multi-byte characters (e.g. after an escape char).</p>
|
|
|
|
</div>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the default charset has been changed to UTF-8.</p>
|
|
|
|
</div>
|
|
|
|
<p>As of version 1.0.3, you can use the method <code class="highlighted php">set_encoding<span class="br0">(</span><span class="br0">)</span></code> to specify the character set that your source
|
|
is in. Valid names are those names that are valid for the <abbr title="PHP: HTML Preprocessor">PHP</abbr> mbstring library:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_encoding</span><span class="br0">(</span><span class="re0">$encoding</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>There is a table of valid strings for <code class="highlighted php"><span class="re0">$encoding</span></code> at the php.net manual linked to above. If you do not
|
|
specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.</p>
|
|
|
|
<h3 id="error-handling">3.7 Error Handling</h3><div class="nav"><a href="#changing-the-charset">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#disabling-lexics">Next</a></div>
|
|
|
|
<p>What happens if you try to highlight using a language that doesn’t exist? Or if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can’t read a required file?
|
|
The results you get may be confusing. You may check your code over and over, and never find anything wrong. <abbr title="Generic Syntax Highlighter">GeSHi</abbr>
|
|
provides ways of finding out if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself found anything wrong with what you tried to do. After highlighting,
|
|
you can call the <code class="highlighted php">error<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="st_h">'hi'</span><span class="sy0">,</span> <span class="st_h">'thisLangIsNotSupported'</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">error</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// echoes error message</span></code></p>
|
|
|
|
<p>The error message you will get will look like this:</p>
|
|
|
|
<blockquote>
|
|
<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Error: <abbr title="Generic Syntax Highlighter">GeSHi</abbr> could not find the language thisLangIsNotSupported (using path geshi/) (code 2)</p>
|
|
</blockquote>
|
|
|
|
<p>The error outputted will be the last error <abbr title="Generic Syntax Highlighter">GeSHi</abbr> came across, just like how <code class="highlighted php"><span class="kw3">mysql_error</span><span class="br0">(</span><span class="br0">)</span></code> works.</p>
|
|
|
|
<h3 id="disabling-lexics">3.8 Disabling styling of some Lexics</h3><div class="nav"><a href="#error-handling">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#setting-tab-width">Next</a></div>
|
|
|
|
<p>One disadvantage of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is that for large source files using complex languages, it can be quite slow with
|
|
every option turned on. Although future releases will concentrate on the speed/resource side of highlighting,
|
|
you can gain speed by disabling some of the highlighting options. This is done by using a
|
|
series of <code class="highlighted php">set_<span class="sy0">*</span>_highlighting</code> methods:</p>
|
|
|
|
<dl>
|
|
<dt><code class="highlighted php">set_keyword_group_highlighting<span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt>
|
|
<dd>Sets whether a particular <code class="highlighted php"><span class="re0">$group</span></code> of keywords is to be highlighted or not. Consult the necessary
|
|
language file(s) to see what <code class="highlighted php"><span class="re0">$group</span></code> should be for each group (typically a positive integer).
|
|
<code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable highlighting of this group, and <code class="highlighted php"><span class="kw4">true</span></code> if you want
|
|
to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a
|
|
related URL one will not be generated for that keyword.</dd>
|
|
|
|
<dt><code class="highlighted php">set_comments_highlighting<span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt>
|
|
<dd>Sets whether a particular <code class="highlighted php"><span class="re0">$group</span></code> of comments is to be highlighted or not. Consult the necessary
|
|
language file(s) to see what <code class="highlighted php"><span class="re0">$group</span></code> should be for each group (typically a positive integer, or th
|
|
string <code class="highlighted php"><span class="st_h">'MULTI'</span></code> for multiline comments. <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable
|
|
highlighting of this group, and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd>
|
|
|
|
<dt><code class="highlighted php">set_regexps_highlighting<span class="br0">(</span><span class="re0">$regexp</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt>
|
|
<dd>Sets whether a particular <code class="highlighted php"><span class="re0">$regexp</span></code> is to be highlighted or not. Consult the necessary language file(s)
|
|
to see what <code class="highlighted php"><span class="re0">$regexp</span></code> should be for each regexp (typically a positive integer, or the string <code class="highlighted php"><span class="st_h">'MULTI'</span></code>
|
|
for multiline comments. <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable highlighting of this group,
|
|
and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd>
|
|
</dl>
|
|
|
|
<p>The following methods:</p>
|
|
|
|
<ul>
|
|
<li><code class="highlighted php">set_escape_characters_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li>
|
|
<li><code class="highlighted php">set_symbols_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li>
|
|
<li><code class="highlighted php">set_strings_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li>
|
|
<li><code class="highlighted php">set_numbers_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li>
|
|
<li><code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li>
|
|
</ul>
|
|
|
|
<p>Work on their respective lexics (e.g. <code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="br0">)</span></code> will disable/enable highlighting of methods).
|
|
For each method, if <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> then the related lexics will not be highlighted at all (this
|
|
means no <abbr title="Hypertext Markup Language">HTML</abbr> will surround the lexic like usual, saving on time and bandwidth.</p>
|
|
|
|
<p>In case all highlighting should be disabled or reenabled <abbr title="Generic Syntax Highlighter">GeSHi</abbr> provides two methods called <code class="highlighted php">disable_highlighting<span class="br0">(</span><span class="br0">)</span></code>
|
|
and <code class="highlighted php">enable_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code>. The optional paramter <code class="highlighted php"><span class="re0">$flag</span></code> has been added in 1.0.7.21 and specifies
|
|
the desired state, i.e. <code class="highlighted php"><span class="kw4">true</span></code> (default) to turn all highlighting on, or <code class="highlighted php"><span class="kw4">false</span></code> to turn all
|
|
highlighting off. Since 1.0.7.21 the method <code class="highlighted php">disnable_highlighting<span class="br0">(</span><span class="br0">)</span></code> has become deprecated.</p>
|
|
|
|
<h3 id="setting-tab-width">3.9 Setting the Tab Width</h3><div class="nav"><a href="#disabling-lexics">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#using-strict-mode">Next</a></div>
|
|
|
|
<p>If you’re using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> header, tabs are handled automatically by your browser, and in general you can
|
|
count on good results. However, if you’re using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> header, you may want to specify a tab
|
|
width explicitly.</p>
|
|
|
|
<p>Note that tabs created in this fashion won’t be like normal tabs - there won’t be “tab-stops” as such, instead
|
|
tabs will be replaced with the specified number of spaces - just like most editors do.</p>
|
|
|
|
<p>To change the tab width, you call the <code class="highlighted php">set_tab_width<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_tab_width</span><span class="br0">(</span><span class="re0">$width</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$width</span></code> is the width in spaces that you’d like tabs to be.</p>
|
|
|
|
<h3 id="using-strict-mode">3.10 Using Strict Mode</h3><div class="nav"><a href="#setting-tab-width">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#adding-removing-keywords">Next</a></div>
|
|
|
|
<p>Some languages like to get tricky, and jump in and out of the file that they’re in. For example, the vast
|
|
majority of you reading this will have used a <abbr title="PHP: HTML Preprocessor">PHP</abbr> file. And you know that <abbr title="PHP: HTML Preprocessor">PHP</abbr> code is only executed if it’s
|
|
within delimiters like <code class="highlighted php"><span class="kw2"><?php</span></code> and <code class="highlighted php"><span class="sy1">?></span></code> (there are others of course…). So what happens if you do the
|
|
following in a php file?</p>
|
|
|
|
<p><code class="highlighted php"><img src="<span class="kw2"><?php</span> <span class="kw1">echo</span> <span class="kw3">rand</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">)</span> <span class="sy1">?></span>" /></code></p>
|
|
|
|
<p>When using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> without strict mode, or using a bad highlighter, you’ll end up with scrambled crap,
|
|
especially if you’re being slack about where you’re putting your quotes, you could end up with the rest
|
|
of your file as bright blue. Fortunately, you can tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to be “strict” about just when it highlights
|
|
and when it does not, using the <code class="highlighted php">enable_strict_mode<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_strict_mode</span><span class="br0">(</span><span class="re0">$mode</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is <code class="highlighted php"><span class="kw4">true</span></code> or not specified to enable strict mode, or <code class="highlighted php"><span class="kw4">false</span></code> to disable
|
|
strict mode if you’ve already turned it and don’t want it now.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 there is a new way to tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> when to use Strict Mode
|
|
which is somewhat more intelligent than in previous releases. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now also
|
|
allows <code class="highlighted php">GESHI_MAYBE</code>, <code class="highlighted php">GESHI_NEVER</code> and <code class="highlighted php">GESHI_ALWAYS</code> instead of <code class="highlighted php"><span class="kw4">true</span></code> and <code class="highlighted php"><span class="kw4">false</span></code>.
|
|
Basically <code class="highlighted php">GESHI_ALWAYS</code> (<code class="highlighted php"><span class="kw4">true</span></code>) always enables strict mode,
|
|
whereas <code class="highlighted php">GESHI_NEVER</code> (<code class="highlighted php"><span class="kw4">false</span></code>) completely disables strict mode. The new thing is
|
|
<code class="highlighted php">GESHI_MAYBE</code> which enables strict mode if it finds any sequences of code
|
|
that look like strict block delimiters.</p>
|
|
|
|
<p>By the way: That’s why this section had to be changed, as the new documentation
|
|
tool we now use, applies this feature and thus auto-detects when strict mode has to be used…</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="adding-removing-keywords">3.11 Adding/Removing Keywords</h3><div class="nav"><a href="#using-strict-mode">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#adding-a-keyword">Next</a></div>
|
|
|
|
<p>Lets say that you’re working on a large project, with many files, many classes and many functions. Perhaps also you
|
|
have the source code on the web and highlighted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, perhaps as a front end to CVS, as a learning tool, something
|
|
to refer to, whatever. Well, why not highlight the names of the functions and classes <em>your</em> project uses, as well
|
|
as the standard functions and classes? Or perhaps you’re not interested in highlighting certain functions, and would
|
|
like to remove them? Or maybe you don’t mind if an entire function group goes west in the interest of speed? <abbr title="Generic Syntax Highlighter">GeSHi</abbr>
|
|
can handle all of this!</p>
|
|
|
|
<h4 id="adding-a-keyword">3.11.1 Adding a Keyword</h4><div class="nav"><a href="#adding-removing-keywords">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#removing-a-keyword">Next</a></div>
|
|
|
|
<p>If you want to add a keyword to an existing keyword group, you use the <code class="highlighted php">add_keyword</code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the index of the group of keywords you want to add this keyword to, and <code class="highlighted php"><span class="re0">$word</span></code> is
|
|
the word to add.</p>
|
|
|
|
<p>This implies knowledge of the language file to know the correct index.</p>
|
|
|
|
<h4 id="removing-a-keyword">3.11.2 Removing a Keyword</h4><div class="nav"><a href="#adding-a-keyword">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#adding-a-keyword-group">Next</a></div>
|
|
|
|
<p>Perhaps you want to remove a keyword from an existing group. Maybe you don’t use it and want to save yourself some time. Whatever the reason, you can remove it using the <code class="highlighted php">remove_keyword</code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">remove_keyword</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the index of the group of keywords that you want to remove this keyword from, and
|
|
<code class="highlighted php"><span class="re0">$word</span></code> is the word to remove.</p>
|
|
|
|
<p>This implies knowledge of the language file to know the correct index - most of the time the keywords you’ll
|
|
want to remove will be in group 3, but this is not guaranteed and you should check the language file first.</p>
|
|
|
|
<p>This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;)</p>
|
|
|
|
<h4 id="adding-a-keyword-group">3.11.3 Adding a Keyword Group</h4><div class="nav"><a href="#removing-a-keyword">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#removing-a-keyword-group">Next</a></div>
|
|
|
|
<p>Lets say for your big project you have several main functions and classes that you’d like highlighted. Why not
|
|
add them as their own group instead of having them highlighted the same way as other keywords? Then you can make
|
|
them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore,
|
|
you could set the URL for this group to point at the API documentation of your project.</p>
|
|
|
|
<p>You add a keyword group by using the <code class="highlighted php">add_keyword_group</code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword_group</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="sy0">,</span> <span class="re0">$case_sensitive</span><span class="sy0">,</span> <span class="re0">$words</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key that you want to use to refer to this group, <code class="highlighted php"><span class="re0">$styles</span></code> is the styles that
|
|
you want to use to style this group, <code class="highlighted php"><span class="re0">$case_sensitive</span></code> is <strong>true</strong> or <strong>false</strong> depending on whether you want
|
|
this group of keywords to be case sensitive or not and <code class="highlighted php"><span class="re0">$words</span></code> is an array of words (or a string) of which
|
|
words to add to this group. For example:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword_group</span><span class="br0">(</span><span class="nu0">10</span><span class="sy0">,</span> <span class="st_h">'color: #600000;'</span><span class="sy0">,</span> <span class="kw4">false</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">(</span><span class="st_h">'myfunc_1'</span><span class="sy0">,</span> <span class="st_h">'myfunc_2'</span><span class="sy0">,</span> <span class="st_h">'myfunc_3'</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword
|
|
can be in any case and which contains the keywords “myfunc_1”, “myfunc_2” and “myfunc_3”.</p>
|
|
|
|
<p>After creating such a keyword group, you may call other <abbr title="Generic Syntax Highlighter">GeSHi</abbr> methods on it, just as you would for any other keyword group.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>If you specify a <code class="highlighted php"><span class="re0">$key</span></code> for which there is already a keyword group, the old keyword group will be
|
|
overwritten! Most language files don’t use numbers larger than 5, so I recommend you play it safe and use a number
|
|
like 10 or 42.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="removing-a-keyword-group">3.11.4 Removing a Keyword Group</h4><div class="nav"><a href="#adding-a-keyword-group">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#headers-and-footers">Next</a></div>
|
|
|
|
<p>Perhaps you <em>really</em> need speed? Why not just remove an entire keyword group? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won’t have to loop through
|
|
each keyword checking for its existance, saving much time. You remove a keyword group by using the
|
|
<code class="highlighted php">remove_keyword_group</code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">remove_keyword_group</span><span class="br0">(</span><span class="re0">$key</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key of the group you wish to remove. This implies knowleged of the language file.</p>
|
|
|
|
<h3 id="headers-and-footers">3.12 Headers and Footers for Your Code</h3><div class="nav"><a href="#removing-a-keyword-group">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#keyword-substitution">Next</a></div>
|
|
|
|
<p>So you want to add some special information to the highlighted source? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can do that too! You can specify headers
|
|
and footers for your code, style them, and insert information from the highlighted source into your header or footer.</p>
|
|
|
|
<h4 id="keyword-substitution">3.12.1 Keyword Substitution</h4><div class="nav"><a href="#headers-and-footers">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#setting-header-content">Next</a></div>
|
|
|
|
<p>In your header and footer, you can put special keywords that will be replaced with actual configuration values for
|
|
this <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object. The keywords you can use are:</p>
|
|
|
|
<ul>
|
|
<li><strong><code><TIME></code></strong> or <strong><code>{TIME}</code></strong>: Is replaced by the time it took for the <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code> method - i.e.,
|
|
how long it took for your code to be highlighted. The time is returned to three decimal places.</li>
|
|
<li><strong><code><LANGUAGE></code></strong> or <strong><code>{LANGUAGE}</code></strong>: Is replaced by a nice, friendly version of the language name used to
|
|
highlight this code.</li>
|
|
<li><strong><code><SPEED></code></strong> or <strong><code>{SPEED}</code></strong>: Is replaced by the speed at which your source has been processed.</li>
|
|
<li><strong><code><VERSION></code></strong> or <strong><code>{VERSION}</code></strong>: The <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version used to highlight the code.</li>
|
|
</ul>
|
|
|
|
<h4 id="setting-header-content">3.12.2 Setting Header Content</h4><div class="nav"><a href="#keyword-substitution">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#setting-footer-content">Next</a></div>
|
|
|
|
<p>The header for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by
|
|
the method <code class="highlighted php">set_overall_style</code>, and should contain the sort of <abbr title="Hypertext Markup Language">HTML</abbr> that belongs in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>.
|
|
You may use any <abbr title="Hypertext Markup Language">HTML</abbr> you like, and format it as an <abbr title="Hypertext Markup Language">HTML</abbr> document. You should use valid <abbr title="Hypertext Markup Language">HTML</abbr> - convert to entities
|
|
any quotemarks or angle brackets you want displayed. You set the header content using the method
|
|
<code class="highlighted php">set_header_content<span class="br0">(</span><span class="br0">)</span></code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_content</span><span class="br0">(</span><span class="re0">$content</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$content</span></code> is the <abbr title="Hypertext Markup Language">HTML</abbr> you want to use for the header.</p>
|
|
|
|
<h4 id="setting-footer-content">3.12.3 Setting Footer Content</h4><div class="nav"><a href="#setting-header-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#styling-header-content">Next</a></div>
|
|
|
|
<p>The footer for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by
|
|
the method <code class="highlighted php">set_overall_style</code>, and should contain the sort of <abbr title="Hypertext Markup Language">HTML</abbr> that belongs in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>.
|
|
You may use any <abbr title="Hypertext Markup Language">HTML</abbr> you like, and format it as an <abbr title="Hypertext Markup Language">HTML</abbr> document. You should use valid <abbr title="Hypertext Markup Language">HTML</abbr> - convert to entities
|
|
any quotemarks or angle brackets you want displayed. You set the footer content using the method
|
|
<code class="highlighted php">set_footer_content<span class="br0">(</span><span class="br0">)</span></code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_footer_content</span><span class="br0">(</span><span class="re0">$content</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$content</span></code> is the <abbr title="Hypertext Markup Language">HTML</abbr> you want to use for the footer.</p>
|
|
|
|
<h4 id="styling-header-content">3.12.4 Styling Header Content</h4><div class="nav"><a href="#setting-footer-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#styling-footer-content">Next</a></div>
|
|
|
|
<p>You can apply styles to the header content you have set with the <code class="highlighted php">set_header_content_style</code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_content_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations you want to use to style the header content.</p>
|
|
|
|
<h4 id="styling-footer-content">3.12.5 Styling Footer Content</h4><div class="nav"><a href="#styling-header-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#keyword-urls">Next</a></div>
|
|
|
|
<p>You can apply styles to the footer content you have set with the <code class="highlighted php">set_footer_content_style</code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_footer_content_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations you want to use to style the footer content.</p>
|
|
|
|
<h3 id="keyword-urls">3.13 Keyword URLs</h3><div class="nav"><a href="#styling-footer-content">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#setting-a-url">Next</a></div>
|
|
|
|
<p>As of version 1.0.2, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> allows you to specify a URL for keyword groups. This URL is used by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to convert
|
|
the keywords in that group into URLs to appropriate documentation. And using <code class="highlighted php">add_keyword_group</code> you
|
|
can add functions and classes from your own projects and use the URL functionality to provide a link to your
|
|
own API documentation.</p>
|
|
|
|
<h4 id="setting-a-url">3.13.1 Setting a URL for a Keyword Group</h4><div class="nav"><a href="#keyword-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#disabling-urls">Next</a></div>
|
|
|
|
<p>To set the URL to be used for a keyword group, you use the <code class="highlighted php">set_url_for_keyword_group<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_url_for_keyword_group</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$url</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$group</span></code> is the keyword group you want to assign the URL for, and <code class="highlighted php"><span class="re0">$url</span></code> is the URL for
|
|
this group of keywords.</p>
|
|
|
|
<p>You may be wondering how to make each keyword in the group point to the correct URL. You do this by putting
|
|
<code>{FNAME}</code> in the URL at the correct place. For example, <abbr title="PHP: HTML Preprocessor">PHP</abbr> makes it easy by linking <code>www.php.net/function-name</code>
|
|
to the documentation for that function, so the URL used is <code>http://www.php.net/{FNAME}</code>.</p>
|
|
|
|
<p>Of course, when you get to a language like Java, that puts its class documentation in related folders, it gets a
|
|
little trickier to work out an appropriate URL (see the Java language file!). I hope to provide some kind of
|
|
redirection service at the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> website in the future.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>As of Version 1.0.7.21 there have been added two more symbols you can use to link to functions. <code>{FNAMEL}</code>
|
|
will generate the lowercase version of the keyword, <code>{FNAMEU}</code> will generate the uppercase version. <code>{FNAME}</code>
|
|
will provide the keyword as specified in the language file. <strong>Use one of these more specific placeholders
|
|
if possible</strong>, as they result in less overhead while linking for case insensitive languages.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="disabling-urls">3.13.2 Disabling a URL for a Keyword Group</h4><div class="nav"><a href="#setting-a-url">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#disabling-all-urls">Next</a></div>
|
|
|
|
<p>It’s easy to disable a URL for a keyword group: Simply use the method <code class="highlighted php">set_url_for_keyword_group<span class="br0">(</span><span class="br0">)</span></code> to pass
|
|
an empty string as the URL:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_url_for_keyword_group</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="st_h">''</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<h4 id="disabling-all-urls">3.13.3 Disabling all URLs for Keywords</h4><div class="nav"><a href="#disabling-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#styling-links">Next</a></div>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18, you can disable all URL linking for keywords:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_keyword_links</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<h4 id="styling-links">3.13.4 Styling Links</h4><div class="nav"><a href="#disabling-all-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#using-targets">Next</a></div>
|
|
|
|
<p>You can also style the function links. You can style their default status, hovered, active and visited status.
|
|
All of this is controlled by one method, <code class="highlighted php">set_link_styles<span class="br0">(</span><span class="br0">)</span></code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_link_styles</span><span class="br0">(</span><span class="re0">$mode</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is one of four values:</p>
|
|
|
|
<ul>
|
|
<li><strong><code class="highlighted php">GESHI_LINK</code>:</strong> The default style of the links.</li>
|
|
<li><strong><code class="highlighted php">GESHI_HOVER</code>:</strong> The style of the links when they have focus (the mouse is hovering over them).</li>
|
|
<li><strong><code class="highlighted php">GESHI_ACTIVE</code>:</strong> The style of the links when they are being clicked.</li>
|
|
<li><strong><code class="highlighted php">GESHI_VISITED</code>:</strong> The style of links that the user has already visited.</li>
|
|
</ul>
|
|
|
|
<p>And <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations to apply to the links.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>The names <code class="highlighted php">GESHI_LINK</code>, <code class="highlighted php">GESHI_HOVER</code> … are constants. Don’t put them in quotes!</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="using-targets">3.13.5 Setting the Link Target</h4><div class="nav"><a href="#styling-links">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#using-contextual-importance">Next</a></div>
|
|
|
|
<p>Perhaps you want to set the target of link attributes, so the manual pages open in a new window? Use the
|
|
<code class="highlighted php">set_link_target<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_link_target</span><span class="br0">(</span><span class="re0">$target</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$target</span></code> is any valid (X)<abbr title="Hypertext Markup Language">HTML</abbr> target value - <code>_blank</code> or <code>_top</code> for example.</p>
|
|
|
|
<h3 id="using-contextual-importance">3.14 Using Contextual Importance</h3><div class="nav"><a href="#using-targets">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#highlighting-special-lines-extra">Next</a></div>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>This functionality is not only buggy, but is proving very hard to implement in 1.1.X. Therefore, this
|
|
functionality may well be <strong>removed</strong> in 1.2.0. You are hereby warned!</p>
|
|
|
|
</div>
|
|
|
|
<p>This feature allows you to mark a part of your source as important. But as the
|
|
implementation its use is deprecated and you should consider using
|
|
the “Highlight Lines Extra” feature described below.</p>
|
|
|
|
<h3 id="highlighting-special-lines-extra">3.15 Highlighting Special Lines “Extra”</h3><div class="nav"><a href="#using-contextual-importance">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#specifying-lines-to-highlight-extra">Next</a></div>
|
|
|
|
<p>An alternative (and more stable) method of highlighting code that is important
|
|
is to use extra highlighting by line. Although you may not know what line numbers
|
|
contain the important lines, if you do this method is a much more flexible way of
|
|
making important lines stand out.</p>
|
|
|
|
<h4 id="specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</h4><div class="nav"><a href="#highlighting-special-lines-extra">Previous</a> | <a href="#highlighting-special-lines-extra">Top</a> | <a href="#styles-for-highlighted-lines">Next</a></div>
|
|
|
|
<p>To specify which lines to highlight extra, you pass an array containing the line numbers to <code class="highlighted php">highlight_lines_extra<span class="br0">(</span><span class="br0">)</span></code>:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">highlight_lines_extra</span><span class="br0">(</span><span class="re0">$array</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>The array could be in the form <code class="highlighted php"><span class="kw3">array</span><span class="br0">(</span><span class="nu0">2</span><span class="sy0">,</span> <span class="nu0">3</span><span class="sy0">,</span> <span class="nu0">4</span><span class="sy0">,</span> <span class="nu0">7</span><span class="sy0">,</span> <span class="nu0">12</span><span class="sy0">,</span> <span class="nu0">344</span><span class="sy0">,</span> <span class="nu0">4242</span><span class="br0">)</span></code>, made from a DB query, generated
|
|
from looking through the source for certain important things and working out what line those things are…
|
|
However you get the line numbers, the array should simply be an array of integers.</p>
|
|
|
|
<p>Here’s an example, using the same source as before:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
</pre></td><td class="de1"><pre class="de1"><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// Here we go again! This time we'll simply highlight the 8th line</span></span></span><span class="co1">//</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'public int[][] product ( n, m )</span></span></span><span class="st_h">{</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> int [][] ans = new int[n][m];</span></span></span><span class="st_h"> for ( int i = 0; i < n; i++ )</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> {</span></span></span><span class="st_h"> for ( int j = 0; i < m; j++ )</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> {</span></span></span><span class="st_h"> ans[i][j] = i * j;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> }</span></span></span><span class="st_h"> }</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h"> return ans;</span></span></span><span class="st_h">}'</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">highlight_lines_extra</span><span class="br0">(</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">8</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table>
|
|
|
|
<p>Which produces:</p>
|
|
|
|
<table class="java geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">Java code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2"><span class="xtra ln-xtra">8</span></span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span><span class="br0">[</span><span class="br0">]</span> product <span class="br0">(</span> n, m <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="br0">{</span></span></span> <span class="kw4">int</span> <span class="br0">[</span><span class="br0">]</span><span class="br0">[</span><span class="br0">]</span> ans <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">int</span><span class="br0">[</span>n<span class="br0">]</span><span class="br0">[</span>m<span class="br0">]</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="kw1">for</span> <span class="br0">(</span> <span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0"><</span> n<span class="sy0">;</span> i<span class="sy0">++</span> <span class="br0">)</span></span></span> <span class="br0">{</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="kw1">for</span> <span class="br0">(</span> <span class="kw4">int</span> j <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0"><</span> m<span class="sy0">;</span> j<span class="sy0">++</span> <span class="br0">)</span></span></span> <span class="br0">{</span>
|
|
<span class="xtra li2"><span class="de2"><span class="xtra ln-xtra"> ans<span class="br0">[</span>i<span class="br0">]</span><span class="br0">[</span>j<span class="br0">]</span> <span class="sy0">=</span> i <span class="sy0">*</span> j<span class="sy0">;</span></span></span></span> <span class="br0">}</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">}</span></span></span> <span class="kw1">return</span> ans<span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="br0">}</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>What’s more, as you can see the code on a highlighted line is still actually highlighted itself.</p>
|
|
|
|
<h4 id="styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</h4><div class="nav"><a href="#specifying-lines-to-highlight-extra">Previous</a> | <a href="#highlighting-special-lines-extra">Top</a> | <a href="#adding-ids-to-each-line">Next</a></div>
|
|
|
|
<p>Again as with contextual importance, you’re not chained to the yellow theme that is the default. You can
|
|
use the <code class="highlighted php">set_highlight_lines_extra_style</code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_highlight_lines_extra_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations that you want to apply to highlighted lines.</p>
|
|
|
|
<h3 id="adding-ids-to-each-line">3.16 Adding IDs to Each Line</h3><div class="nav"><a href="#styles-for-highlighted-lines">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#getting-the-time-of-styling">Next</a></div>
|
|
|
|
<p>Perhaps you’re a javascript junkie? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> provides a way to give each line an ID so you can access that line with
|
|
javascript, or perhaps just by plain <abbr title="Cascading Style Sheets">CSS</abbr> (though if you want to access lines by <abbr title="Cascading Style Sheets">CSS</abbr> you should use the method
|
|
in the previous section). To enable IDs you call the <code class="highlighted php">enable_ids<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_ids</span><span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span><span class="sy0">;</span></code></p>
|
|
|
|
<p>Where <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">true</span></code> or not present to enable IDs, and <code class="highlighted php"><span class="kw4">false</span></code> to disable them again if you need.</p>
|
|
|
|
<p>The ID generated is in the form <code>{overall-css-id}-{line-number}</code>. So for example, if you set the overall <abbr title="Cascading Style Sheets">CSS</abbr> id to
|
|
be “mycode”, then the IDs for each line would by “mycode-1”, “mycode-2” etc. If there is no <abbr title="Cascading Style Sheets">CSS</abbr> ID set, then one is
|
|
made up in the form <code>geshi-[4 random characters]</code>, but this is not so useful for if you want to do javascript manipulation.</p>
|
|
|
|
<h3 id="getting-the-time-of-styling">3.17 Getting the Time of Styling</h3><div class="nav"><a href="#adding-ids-to-each-line">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#language-files">Next</a></div>
|
|
|
|
<p>Once you’ve called <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code>, you can get the time it took to run the highlighting by calling the
|
|
<code class="highlighted php">get_time<span class="br0">(</span><span class="br0">)</span></code> method:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
</pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code</span> <span class="sy0">=</span> <a href="http://www.php.net/mysql_real_escape_string"><span class="kw3">mysql_real_escape_string</span></a><span class="br0">(</span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"><span class="re0">$time</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="co1">// do something with it</span></span></span><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">(</span><span class="st0">"INSERT INTO code VALUES ('<span class="es4">$code</span>', '<span class="es4">$time</span>')"</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table>
|
|
|
|
<h2 id="language-files">4 Language Files</h2><div class="nav"><a href="#getting-the-time-of-styling">Previous</a> | <a href="#language-file-example">Next</a></div>
|
|
|
|
<p>So now you know what features <abbr title="Generic Syntax Highlighter">GeSHi</abbr> offers, and perhaps you’ve even meddled with the source. Or perhaps
|
|
you’d like a language file for language X but it doesn’t seem to be supported? Rubbish! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will highlight
|
|
anything, what do you think I coded this for? ^_^ You’ll just have to learn how to make a language file
|
|
yourself. And I promise it’s not too hard - and if you’re here you’re in the right place!</p>
|
|
|
|
<h3 id="language-file-example">4.1 An Example Language File</h3><div class="nav"><a href="#language-files">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-conventions">Next</a></div>
|
|
|
|
<p>Let’s begin by looking at an example language file - the language file for the first language ever supported,
|
|
<abbr title="PHP: HTML Preprocessor">PHP</abbr>:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span>29
|
|
<span class="xtra li2"><span class="de2">30</span></span>31
|
|
<span class="xtra li2"><span class="de2">32</span></span>33
|
|
<span class="xtra li2"><span class="de2">34</span></span>35
|
|
<span class="xtra li2"><span class="de2">36</span></span>37
|
|
<span class="xtra li2"><span class="de2">38</span></span>39
|
|
<span class="xtra li2"><span class="de2">40</span></span>41
|
|
<span class="xtra li2"><span class="de2">42</span></span>43
|
|
<span class="xtra li2"><span class="de2">44</span></span>45
|
|
<span class="xtra li2"><span class="de2">46</span></span>47
|
|
<span class="xtra li2"><span class="de2">48</span></span>49
|
|
<span class="xtra li2"><span class="de2">50</span></span>51
|
|
<span class="xtra li2"><span class="de2">52</span></span>53
|
|
<span class="xtra li2"><span class="de2">54</span></span>55
|
|
<span class="xtra li2"><span class="de2">56</span></span>57
|
|
<span class="xtra li2"><span class="de2">58</span></span>59
|
|
<span class="xtra li2"><span class="de2">60</span></span>61
|
|
<span class="xtra li2"><span class="de2">62</span></span>63
|
|
<span class="xtra li2"><span class="de2">64</span></span>65
|
|
<span class="xtra li2"><span class="de2">66</span></span>67
|
|
<span class="xtra li2"><span class="de2">68</span></span>69
|
|
<span class="xtra li2"><span class="de2">70</span></span>71
|
|
<span class="xtra li2"><span class="de2">72</span></span>73
|
|
<span class="xtra li2"><span class="de2">74</span></span>75
|
|
<span class="xtra li2"><span class="de2">76</span></span>77
|
|
<span class="xtra li2"><span class="de2">78</span></span>79
|
|
<span class="xtra li2"><span class="de2">80</span></span>81
|
|
<span class="xtra li2"><span class="de2">82</span></span>83
|
|
<span class="xtra li2"><span class="de2">84</span></span>85
|
|
<span class="xtra li2"><span class="de2">86</span></span>87
|
|
<span class="xtra li2"><span class="de2">88</span></span>89
|
|
<span class="xtra li2"><span class="de2">90</span></span>91
|
|
<span class="xtra li2"><span class="de2">92</span></span>93
|
|
<span class="xtra li2"><span class="de2">94</span></span>95
|
|
<span class="xtra li2"><span class="de2">96</span></span>97
|
|
<span class="xtra li2"><span class="de2">98</span></span>99
|
|
<span class="xtra li2"><span class="de2">100</span></span>101
|
|
<span class="xtra li2"><span class="de2">102</span></span>103
|
|
<span class="xtra li2"><span class="de2">104</span></span>105
|
|
<span class="xtra li2"><span class="de2">106</span></span>107
|
|
<span class="xtra li2"><span class="de2">108</span></span>109
|
|
<span class="xtra li2"><span class="de2">110</span></span>111
|
|
<span class="xtra li2"><span class="de2">112</span></span>113
|
|
<span class="xtra li2"><span class="de2">114</span></span>115
|
|
<span class="xtra li2"><span class="de2">116</span></span>117
|
|
<span class="xtra li2"><span class="de2">118</span></span>119
|
|
<span class="xtra li2"><span class="de2">120</span></span>121
|
|
<span class="xtra li2"><span class="de2">122</span></span>123
|
|
<span class="xtra li2"><span class="de2">124</span></span>125
|
|
<span class="xtra li2"><span class="de2">126</span></span>127
|
|
<span class="xtra li2"><span class="de2">128</span></span>129
|
|
<span class="xtra li2"><span class="de2">130</span></span>131
|
|
<span class="xtra li2"><span class="de2">132</span></span>133
|
|
<span class="xtra li2"><span class="de2">134</span></span>135
|
|
<span class="xtra li2"><span class="de2">136</span></span>137
|
|
<span class="xtra li2"><span class="de2">138</span></span>139
|
|
<span class="xtra li2"><span class="de2">140</span></span>141
|
|
<span class="xtra li2"><span class="de2">142</span></span>143
|
|
<span class="xtra li2"><span class="de2">144</span></span>145
|
|
<span class="xtra li2"><span class="de2">146</span></span>147
|
|
<span class="xtra li2"><span class="de2">148</span></span>149
|
|
<span class="xtra li2"><span class="de2">150</span></span>151
|
|
<span class="xtra li2"><span class="de2">152</span></span>153
|
|
<span class="xtra li2"><span class="de2">154</span></span>155
|
|
<span class="xtra li2"><span class="de2">156</span></span>157
|
|
<span class="xtra li2"><span class="de2">158</span></span>159
|
|
<span class="xtra li2"><span class="de2">160</span></span>161
|
|
<span class="xtra li2"><span class="de2">162</span></span>163
|
|
<span class="xtra li2"><span class="de2">164</span></span>165
|
|
<span class="xtra li2"><span class="de2">166</span></span>167
|
|
<span class="xtra li2"><span class="de2">168</span></span>169
|
|
<span class="xtra li2"><span class="de2">170</span></span>171
|
|
<span class="xtra li2"><span class="de2">172</span></span>173
|
|
<span class="xtra li2"><span class="de2">174</span></span>175
|
|
<span class="xtra li2"><span class="de2">176</span></span>177
|
|
<span class="xtra li2"><span class="de2">178</span></span>179
|
|
<span class="xtra li2"><span class="de2">180</span></span>181
|
|
<span class="xtra li2"><span class="de2">182</span></span>183
|
|
<span class="xtra li2"><span class="de2">184</span></span>185
|
|
<span class="xtra li2"><span class="de2">186</span></span>187
|
|
<span class="xtra li2"><span class="de2">188</span></span>189
|
|
<span class="xtra li2"><span class="de2">190</span></span>191
|
|
<span class="xtra li2"><span class="de2">192</span></span>193
|
|
<span class="xtra li2"><span class="de2">194</span></span>195
|
|
<span class="xtra li2"><span class="de2">196</span></span>197
|
|
<span class="xtra li2"><span class="de2">198</span></span>199
|
|
<span class="xtra li2"><span class="de2">200</span></span>201
|
|
<span class="xtra li2"><span class="de2">202</span></span>203
|
|
<span class="xtra li2"><span class="de2">204</span></span>205
|
|
<span class="xtra li2"><span class="de2">206</span></span>207
|
|
<span class="xtra li2"><span class="de2">208</span></span>209
|
|
<span class="xtra li2"><span class="de2">210</span></span>211
|
|
<span class="xtra li2"><span class="de2">212</span></span>213
|
|
<span class="xtra li2"><span class="de2">214</span></span>215
|
|
<span class="xtra li2"><span class="de2">216</span></span>217
|
|
<span class="xtra li2"><span class="de2">218</span></span>219
|
|
<span class="xtra li2"><span class="de2">220</span></span>221
|
|
<span class="xtra li2"><span class="de2">222</span></span>223
|
|
<span class="xtra li2"><span class="de2">224</span></span>225
|
|
<span class="xtra li2"><span class="de2">226</span></span>227
|
|
<span class="xtra li2"><span class="de2">228</span></span>229
|
|
<span class="xtra li2"><span class="de2">230</span></span>231
|
|
<span class="xtra li2"><span class="de2">232</span></span>233
|
|
<span class="xtra li2"><span class="de2">234</span></span>235
|
|
<span class="xtra li2"><span class="de2">236</span></span>237
|
|
<span class="xtra li2"><span class="de2">238</span></span>239
|
|
<span class="xtra li2"><span class="de2">240</span></span>241
|
|
<span class="xtra li2"><span class="de2">242</span></span>243
|
|
<span class="xtra li2"><span class="de2">244</span></span>245
|
|
<span class="xtra li2"><span class="de2">246</span></span>247
|
|
<span class="xtra li2"><span class="de2">248</span></span>249
|
|
<span class="xtra li2"><span class="de2">250</span></span>251
|
|
<span class="xtra li2"><span class="de2">252</span></span>253
|
|
<span class="xtra li2"><span class="de2">254</span></span>255
|
|
<span class="xtra li2"><span class="de2">256</span></span>257
|
|
<span class="xtra li2"><span class="de2">258</span></span>259
|
|
<span class="xtra li2"><span class="de2">260</span></span>261
|
|
<span class="xtra li2"><span class="de2">262</span></span>263
|
|
<span class="xtra li2"><span class="de2">264</span></span>265
|
|
<span class="xtra li2"><span class="de2">266</span></span>267
|
|
<span class="xtra li2"><span class="de2">268</span></span>269
|
|
<span class="xtra li2"><span class="de2">270</span></span>271
|
|
<span class="xtra li2"><span class="de2">272</span></span>273
|
|
<span class="xtra li2"><span class="de2">274</span></span>275
|
|
<span class="xtra li2"><span class="de2">276</span></span>277
|
|
<span class="xtra li2"><span class="de2">278</span></span>279
|
|
<span class="xtra li2"><span class="de2">280</span></span>281
|
|
<span class="xtra li2"><span class="de2">282</span></span>283
|
|
<span class="xtra li2"><span class="de2">284</span></span>285
|
|
<span class="xtra li2"><span class="de2">286</span></span>287
|
|
<span class="xtra li2"><span class="de2">288</span></span>289
|
|
<span class="xtra li2"><span class="de2">290</span></span>291
|
|
<span class="xtra li2"><span class="de2">292</span></span>293
|
|
<span class="xtra li2"><span class="de2">294</span></span>295
|
|
<span class="xtra li2"><span class="de2">296</span></span>297
|
|
<span class="xtra li2"><span class="de2">298</span></span>299
|
|
<span class="xtra li2"><span class="de2">300</span></span>301
|
|
<span class="xtra li2"><span class="de2">302</span></span>303
|
|
<span class="xtra li2"><span class="de2">304</span></span>305
|
|
<span class="xtra li2"><span class="de2">306</span></span>307
|
|
<span class="xtra li2"><span class="de2">308</span></span>309
|
|
<span class="xtra li2"><span class="de2">310</span></span>311
|
|
<span class="xtra li2"><span class="de2">312</span></span>313
|
|
<span class="xtra li2"><span class="de2">314</span></span>315
|
|
<span class="xtra li2"><span class="de2">316</span></span>317
|
|
<span class="xtra li2"><span class="de2">318</span></span>319
|
|
<span class="xtra li2"><span class="de2">320</span></span>321
|
|
<span class="xtra li2"><span class="de2">322</span></span>323
|
|
<span class="xtra li2"><span class="de2">324</span></span>325
|
|
<span class="xtra li2"><span class="de2">326</span></span>327
|
|
<span class="xtra li2"><span class="de2">328</span></span>329
|
|
<span class="xtra li2"><span class="de2">330</span></span>331
|
|
<span class="xtra li2"><span class="de2">332</span></span>333
|
|
<span class="xtra li2"><span class="de2">334</span></span>335
|
|
<span class="xtra li2"><span class="de2">336</span></span>337
|
|
<span class="xtra li2"><span class="de2">338</span></span>339
|
|
<span class="xtra li2"><span class="de2">340</span></span>341
|
|
<span class="xtra li2"><span class="de2">342</span></span>343
|
|
<span class="xtra li2"><span class="de2">344</span></span>345
|
|
<span class="xtra li2"><span class="de2">346</span></span>347
|
|
<span class="xtra li2"><span class="de2">348</span></span>349
|
|
<span class="xtra li2"><span class="de2">350</span></span>351
|
|
<span class="xtra li2"><span class="de2">352</span></span>353
|
|
<span class="xtra li2"><span class="de2">354</span></span>355
|
|
<span class="xtra li2"><span class="de2">356</span></span>357
|
|
<span class="xtra li2"><span class="de2">358</span></span>359
|
|
<span class="xtra li2"><span class="de2">360</span></span>361
|
|
<span class="xtra li2"><span class="de2">362</span></span>363
|
|
<span class="xtra li2"><span class="de2">364</span></span>365
|
|
<span class="xtra li2"><span class="de2">366</span></span>367
|
|
<span class="xtra li2"><span class="de2">368</span></span>369
|
|
<span class="xtra li2"><span class="de2">370</span></span>371
|
|
<span class="xtra li2"><span class="de2">372</span></span>373
|
|
<span class="xtra li2"><span class="de2">374</span></span>375
|
|
<span class="xtra li2"><span class="de2">376</span></span>377
|
|
<span class="xtra li2"><span class="de2">378</span></span>379
|
|
<span class="xtra li2"><span class="de2">380</span></span>381
|
|
<span class="xtra li2"><span class="de2">382</span></span>383
|
|
<span class="xtra li2"><span class="de2">384</span></span>385
|
|
<span class="xtra li2"><span class="de2">386</span></span>387
|
|
<span class="xtra li2"><span class="de2">388</span></span>389
|
|
<span class="xtra li2"><span class="de2">390</span></span>391
|
|
<span class="xtra li2"><span class="de2">392</span></span>393
|
|
<span class="xtra li2"><span class="de2">394</span></span>395
|
|
<span class="xtra li2"><span class="de2">396</span></span>397
|
|
<span class="xtra li2"><span class="de2">398</span></span>399
|
|
<span class="xtra li2"><span class="de2">400</span></span>401
|
|
<span class="xtra li2"><span class="de2">402</span></span>403
|
|
<span class="xtra li2"><span class="de2">404</span></span>405
|
|
<span class="xtra li2"><span class="de2">406</span></span>407
|
|
<span class="xtra li2"><span class="de2">408</span></span>409
|
|
<span class="xtra li2"><span class="de2">410</span></span>411
|
|
<span class="xtra li2"><span class="de2">412</span></span>413
|
|
<span class="xtra li2"><span class="de2">414</span></span>415
|
|
<span class="xtra li2"><span class="de2">416</span></span>417
|
|
<span class="xtra li2"><span class="de2">418</span></span>419
|
|
<span class="xtra li2"><span class="de2">420</span></span>421
|
|
<span class="xtra li2"><span class="de2">422</span></span>423
|
|
<span class="xtra li2"><span class="de2">424</span></span>425
|
|
<span class="xtra li2"><span class="de2">426</span></span>427
|
|
<span class="xtra li2"><span class="de2">428</span></span>429
|
|
<span class="xtra li2"><span class="de2">430</span></span>431
|
|
<span class="xtra li2"><span class="de2">432</span></span>433
|
|
<span class="xtra li2"><span class="de2">434</span></span>435
|
|
<span class="xtra li2"><span class="de2">436</span></span>437
|
|
<span class="xtra li2"><span class="de2">438</span></span>439
|
|
<span class="xtra li2"><span class="de2">440</span></span>441
|
|
<span class="xtra li2"><span class="de2">442</span></span>443
|
|
<span class="xtra li2"><span class="de2">444</span></span>445
|
|
<span class="xtra li2"><span class="de2">446</span></span>447
|
|
<span class="xtra li2"><span class="de2">448</span></span>449
|
|
<span class="xtra li2"><span class="de2">450</span></span>451
|
|
<span class="xtra li2"><span class="de2">452</span></span>453
|
|
<span class="xtra li2"><span class="de2">454</span></span>455
|
|
<span class="xtra li2"><span class="de2">456</span></span>457
|
|
<span class="xtra li2"><span class="de2">458</span></span>459
|
|
<span class="xtra li2"><span class="de2">460</span></span>461
|
|
<span class="xtra li2"><span class="de2">462</span></span>463
|
|
<span class="xtra li2"><span class="de2">464</span></span>465
|
|
<span class="xtra li2"><span class="de2">466</span></span>467
|
|
<span class="xtra li2"><span class="de2">468</span></span>469
|
|
<span class="xtra li2"><span class="de2">470</span></span>471
|
|
<span class="xtra li2"><span class="de2">472</span></span>473
|
|
<span class="xtra li2"><span class="de2">474</span></span>475
|
|
<span class="xtra li2"><span class="de2">476</span></span>477
|
|
<span class="xtra li2"><span class="de2">478</span></span>479
|
|
<span class="xtra li2"><span class="de2">480</span></span>481
|
|
<span class="xtra li2"><span class="de2">482</span></span>483
|
|
<span class="xtra li2"><span class="de2">484</span></span>485
|
|
<span class="xtra li2"><span class="de2">486</span></span>487
|
|
<span class="xtra li2"><span class="de2">488</span></span>489
|
|
<span class="xtra li2"><span class="de2">490</span></span>491
|
|
<span class="xtra li2"><span class="de2">492</span></span>493
|
|
<span class="xtra li2"><span class="de2">494</span></span>495
|
|
<span class="xtra li2"><span class="de2">496</span></span>497
|
|
<span class="xtra li2"><span class="de2">498</span></span>499
|
|
<span class="xtra li2"><span class="de2">500</span></span>501
|
|
<span class="xtra li2"><span class="de2">502</span></span>503
|
|
<span class="xtra li2"><span class="de2">504</span></span>505
|
|
<span class="xtra li2"><span class="de2">506</span></span>507
|
|
<span class="xtra li2"><span class="de2">508</span></span>509
|
|
<span class="xtra li2"><span class="de2">510</span></span>511
|
|
<span class="xtra li2"><span class="de2">512</span></span>513
|
|
<span class="xtra li2"><span class="de2">514</span></span>515
|
|
<span class="xtra li2"><span class="de2">516</span></span>517
|
|
<span class="xtra li2"><span class="de2">518</span></span>519
|
|
<span class="xtra li2"><span class="de2">520</span></span>521
|
|
<span class="xtra li2"><span class="de2">522</span></span>523
|
|
<span class="xtra li2"><span class="de2">524</span></span>525
|
|
<span class="xtra li2"><span class="de2">526</span></span>527
|
|
<span class="xtra li2"><span class="de2">528</span></span>529
|
|
<span class="xtra li2"><span class="de2">530</span></span>531
|
|
<span class="xtra li2"><span class="de2">532</span></span>533
|
|
<span class="xtra li2"><span class="de2">534</span></span>535
|
|
<span class="xtra li2"><span class="de2">536</span></span>537
|
|
<span class="xtra li2"><span class="de2">538</span></span>539
|
|
<span class="xtra li2"><span class="de2">540</span></span>541
|
|
<span class="xtra li2"><span class="de2">542</span></span>543
|
|
<span class="xtra li2"><span class="de2">544</span></span>545
|
|
<span class="xtra li2"><span class="de2">546</span></span>547
|
|
<span class="xtra li2"><span class="de2">548</span></span>549
|
|
<span class="xtra li2"><span class="de2">550</span></span>551
|
|
<span class="xtra li2"><span class="de2">552</span></span>553
|
|
<span class="xtra li2"><span class="de2">554</span></span>555
|
|
<span class="xtra li2"><span class="de2">556</span></span>557
|
|
<span class="xtra li2"><span class="de2">558</span></span>559
|
|
<span class="xtra li2"><span class="de2">560</span></span>561
|
|
<span class="xtra li2"><span class="de2">562</span></span>563
|
|
<span class="xtra li2"><span class="de2">564</span></span>565
|
|
<span class="xtra li2"><span class="de2">566</span></span>567
|
|
<span class="xtra li2"><span class="de2">568</span></span>569
|
|
<span class="xtra li2"><span class="de2">570</span></span>571
|
|
<span class="xtra li2"><span class="de2">572</span></span>573
|
|
<span class="xtra li2"><span class="de2">574</span></span>575
|
|
<span class="xtra li2"><span class="de2">576</span></span>577
|
|
<span class="xtra li2"><span class="de2">578</span></span>579
|
|
<span class="xtra li2"><span class="de2">580</span></span>581
|
|
<span class="xtra li2"><span class="de2">582</span></span>583
|
|
<span class="xtra li2"><span class="de2">584</span></span>585
|
|
<span class="xtra li2"><span class="de2">586</span></span>587
|
|
<span class="xtra li2"><span class="de2">588</span></span>589
|
|
<span class="xtra li2"><span class="de2">590</span></span>591
|
|
<span class="xtra li2"><span class="de2">592</span></span>593
|
|
<span class="xtra li2"><span class="de2">594</span></span>595
|
|
<span class="xtra li2"><span class="de2">596</span></span>597
|
|
<span class="xtra li2"><span class="de2">598</span></span>599
|
|
<span class="xtra li2"><span class="de2">600</span></span>601
|
|
<span class="xtra li2"><span class="de2">602</span></span>603
|
|
<span class="xtra li2"><span class="de2">604</span></span>605
|
|
<span class="xtra li2"><span class="de2">606</span></span>607
|
|
<span class="xtra li2"><span class="de2">608</span></span>609
|
|
<span class="xtra li2"><span class="de2">610</span></span>611
|
|
<span class="xtra li2"><span class="de2">612</span></span>613
|
|
<span class="xtra li2"><span class="de2">614</span></span>615
|
|
<span class="xtra li2"><span class="de2">616</span></span>617
|
|
<span class="xtra li2"><span class="de2">618</span></span>619
|
|
<span class="xtra li2"><span class="de2">620</span></span>621
|
|
<span class="xtra li2"><span class="de2">622</span></span>623
|
|
<span class="xtra li2"><span class="de2">624</span></span>625
|
|
<span class="xtra li2"><span class="de2">626</span></span>627
|
|
<span class="xtra li2"><span class="de2">628</span></span>629
|
|
<span class="xtra li2"><span class="de2">630</span></span>631
|
|
<span class="xtra li2"><span class="de2">632</span></span>633
|
|
<span class="xtra li2"><span class="de2">634</span></span>635
|
|
<span class="xtra li2"><span class="de2">636</span></span>637
|
|
<span class="xtra li2"><span class="de2">638</span></span>639
|
|
<span class="xtra li2"><span class="de2">640</span></span>641
|
|
<span class="xtra li2"><span class="de2">642</span></span>643
|
|
<span class="xtra li2"><span class="de2">644</span></span>645
|
|
<span class="xtra li2"><span class="de2">646</span></span>647
|
|
<span class="xtra li2"><span class="de2">648</span></span>649
|
|
<span class="xtra li2"><span class="de2">650</span></span>651
|
|
<span class="xtra li2"><span class="de2">652</span></span>653
|
|
<span class="xtra li2"><span class="de2">654</span></span>655
|
|
<span class="xtra li2"><span class="de2">656</span></span>657
|
|
<span class="xtra li2"><span class="de2">658</span></span>659
|
|
<span class="xtra li2"><span class="de2">660</span></span>661
|
|
<span class="xtra li2"><span class="de2">662</span></span>663
|
|
<span class="xtra li2"><span class="de2">664</span></span>665
|
|
<span class="xtra li2"><span class="de2">666</span></span>667
|
|
<span class="xtra li2"><span class="de2">668</span></span>669
|
|
<span class="xtra li2"><span class="de2">670</span></span>671
|
|
<span class="xtra li2"><span class="de2">672</span></span>673
|
|
<span class="xtra li2"><span class="de2">674</span></span>675
|
|
<span class="xtra li2"><span class="de2">676</span></span>677
|
|
<span class="xtra li2"><span class="de2">678</span></span>679
|
|
<span class="xtra li2"><span class="de2">680</span></span>681
|
|
<span class="xtra li2"><span class="de2">682</span></span>683
|
|
<span class="xtra li2"><span class="de2">684</span></span>685
|
|
<span class="xtra li2"><span class="de2">686</span></span>687
|
|
<span class="xtra li2"><span class="de2">688</span></span>689
|
|
<span class="xtra li2"><span class="de2">690</span></span>691
|
|
<span class="xtra li2"><span class="de2">692</span></span>693
|
|
<span class="xtra li2"><span class="de2">694</span></span>695
|
|
<span class="xtra li2"><span class="de2">696</span></span>697
|
|
<span class="xtra li2"><span class="de2">698</span></span>699
|
|
<span class="xtra li2"><span class="de2">700</span></span>701
|
|
<span class="xtra li2"><span class="de2">702</span></span>703
|
|
<span class="xtra li2"><span class="de2">704</span></span>705
|
|
<span class="xtra li2"><span class="de2">706</span></span>707
|
|
<span class="xtra li2"><span class="de2">708</span></span>709
|
|
<span class="xtra li2"><span class="de2">710</span></span>711
|
|
<span class="xtra li2"><span class="de2">712</span></span>713
|
|
<span class="xtra li2"><span class="de2">714</span></span>715
|
|
<span class="xtra li2"><span class="de2">716</span></span>717
|
|
<span class="xtra li2"><span class="de2">718</span></span>719
|
|
<span class="xtra li2"><span class="de2">720</span></span>721
|
|
<span class="xtra li2"><span class="de2">722</span></span>723
|
|
<span class="xtra li2"><span class="de2">724</span></span>725
|
|
<span class="xtra li2"><span class="de2">726</span></span>727
|
|
<span class="xtra li2"><span class="de2">728</span></span>729
|
|
<span class="xtra li2"><span class="de2">730</span></span>731
|
|
<span class="xtra li2"><span class="de2">732</span></span>733
|
|
<span class="xtra li2"><span class="de2">734</span></span>735
|
|
<span class="xtra li2"><span class="de2">736</span></span>737
|
|
<span class="xtra li2"><span class="de2">738</span></span>739
|
|
<span class="xtra li2"><span class="de2">740</span></span>741
|
|
<span class="xtra li2"><span class="de2">742</span></span>743
|
|
<span class="xtra li2"><span class="de2">744</span></span>745
|
|
<span class="xtra li2"><span class="de2">746</span></span>747
|
|
<span class="xtra li2"><span class="de2">748</span></span>749
|
|
<span class="xtra li2"><span class="de2">750</span></span>751
|
|
<span class="xtra li2"><span class="de2">752</span></span>753
|
|
<span class="xtra li2"><span class="de2">754</span></span>755
|
|
<span class="xtra li2"><span class="de2">756</span></span>757
|
|
<span class="xtra li2"><span class="de2">758</span></span>759
|
|
<span class="xtra li2"><span class="de2">760</span></span>761
|
|
<span class="xtra li2"><span class="de2">762</span></span>763
|
|
<span class="xtra li2"><span class="de2">764</span></span>765
|
|
<span class="xtra li2"><span class="de2">766</span></span>767
|
|
<span class="xtra li2"><span class="de2">768</span></span>769
|
|
<span class="xtra li2"><span class="de2">770</span></span>771
|
|
<span class="xtra li2"><span class="de2">772</span></span>773
|
|
<span class="xtra li2"><span class="de2">774</span></span>775
|
|
<span class="xtra li2"><span class="de2">776</span></span>777
|
|
<span class="xtra li2"><span class="de2">778</span></span>779
|
|
<span class="xtra li2"><span class="de2">780</span></span>781
|
|
<span class="xtra li2"><span class="de2">782</span></span>783
|
|
<span class="xtra li2"><span class="de2">784</span></span>785
|
|
<span class="xtra li2"><span class="de2">786</span></span>787
|
|
<span class="xtra li2"><span class="de2">788</span></span>789
|
|
<span class="xtra li2"><span class="de2">790</span></span>791
|
|
<span class="xtra li2"><span class="de2">792</span></span>793
|
|
<span class="xtra li2"><span class="de2">794</span></span>795
|
|
<span class="xtra li2"><span class="de2">796</span></span>797
|
|
<span class="xtra li2"><span class="de2">798</span></span>799
|
|
<span class="xtra li2"><span class="de2">800</span></span>801
|
|
<span class="xtra li2"><span class="de2">802</span></span>803
|
|
<span class="xtra li2"><span class="de2">804</span></span>805
|
|
<span class="xtra li2"><span class="de2">806</span></span>807
|
|
<span class="xtra li2"><span class="de2">808</span></span>809
|
|
<span class="xtra li2"><span class="de2">810</span></span>811
|
|
<span class="xtra li2"><span class="de2">812</span></span>813
|
|
<span class="xtra li2"><span class="de2">814</span></span>815
|
|
<span class="xtra li2"><span class="de2">816</span></span>817
|
|
<span class="xtra li2"><span class="de2">818</span></span>819
|
|
<span class="xtra li2"><span class="de2">820</span></span>821
|
|
<span class="xtra li2"><span class="de2">822</span></span>823
|
|
<span class="xtra li2"><span class="de2">824</span></span>825
|
|
<span class="xtra li2"><span class="de2">826</span></span>827
|
|
<span class="xtra li2"><span class="de2">828</span></span>829
|
|
<span class="xtra li2"><span class="de2">830</span></span>831
|
|
<span class="xtra li2"><span class="de2">832</span></span>833
|
|
<span class="xtra li2"><span class="de2">834</span></span>835
|
|
<span class="xtra li2"><span class="de2">836</span></span>837
|
|
<span class="xtra li2"><span class="de2">838</span></span>839
|
|
<span class="xtra li2"><span class="de2">840</span></span>841
|
|
<span class="xtra li2"><span class="de2">842</span></span>843
|
|
<span class="xtra li2"><span class="de2">844</span></span>845
|
|
<span class="xtra li2"><span class="de2">846</span></span>847
|
|
<span class="xtra li2"><span class="de2">848</span></span>849
|
|
<span class="xtra li2"><span class="de2">850</span></span>851
|
|
<span class="xtra li2"><span class="de2">852</span></span>853
|
|
<span class="xtra li2"><span class="de2">854</span></span>855
|
|
<span class="xtra li2"><span class="de2">856</span></span>857
|
|
<span class="xtra li2"><span class="de2">858</span></span>859
|
|
<span class="xtra li2"><span class="de2">860</span></span>861
|
|
<span class="xtra li2"><span class="de2">862</span></span>863
|
|
<span class="xtra li2"><span class="de2">864</span></span>865
|
|
<span class="xtra li2"><span class="de2">866</span></span>867
|
|
<span class="xtra li2"><span class="de2">868</span></span>869
|
|
<span class="xtra li2"><span class="de2">870</span></span>871
|
|
<span class="xtra li2"><span class="de2">872</span></span>873
|
|
<span class="xtra li2"><span class="de2">874</span></span>875
|
|
<span class="xtra li2"><span class="de2">876</span></span>877
|
|
<span class="xtra li2"><span class="de2">878</span></span>879
|
|
<span class="xtra li2"><span class="de2">880</span></span>881
|
|
<span class="xtra li2"><span class="de2">882</span></span>883
|
|
<span class="xtra li2"><span class="de2">884</span></span>885
|
|
<span class="xtra li2"><span class="de2">886</span></span>887
|
|
<span class="xtra li2"><span class="de2">888</span></span>889
|
|
<span class="xtra li2"><span class="de2">890</span></span>891
|
|
<span class="xtra li2"><span class="de2">892</span></span>893
|
|
<span class="xtra li2"><span class="de2">894</span></span>895
|
|
<span class="xtra li2"><span class="de2">896</span></span>897
|
|
<span class="xtra li2"><span class="de2">898</span></span>899
|
|
<span class="xtra li2"><span class="de2">900</span></span>901
|
|
<span class="xtra li2"><span class="de2">902</span></span>903
|
|
<span class="xtra li2"><span class="de2">904</span></span>905
|
|
<span class="xtra li2"><span class="de2">906</span></span>907
|
|
<span class="xtra li2"><span class="de2">908</span></span>909
|
|
<span class="xtra li2"><span class="de2">910</span></span>911
|
|
<span class="xtra li2"><span class="de2">912</span></span>913
|
|
<span class="xtra li2"><span class="de2">914</span></span>915
|
|
<span class="xtra li2"><span class="de2">916</span></span>917
|
|
<span class="xtra li2"><span class="de2">918</span></span>919
|
|
<span class="xtra li2"><span class="de2">920</span></span>921
|
|
<span class="xtra li2"><span class="de2">922</span></span>923
|
|
<span class="xtra li2"><span class="de2">924</span></span>925
|
|
<span class="xtra li2"><span class="de2">926</span></span>927
|
|
<span class="xtra li2"><span class="de2">928</span></span>929
|
|
<span class="xtra li2"><span class="de2">930</span></span>931
|
|
<span class="xtra li2"><span class="de2">932</span></span>933
|
|
<span class="xtra li2"><span class="de2">934</span></span>935
|
|
<span class="xtra li2"><span class="de2">936</span></span>937
|
|
<span class="xtra li2"><span class="de2">938</span></span>939
|
|
<span class="xtra li2"><span class="de2">940</span></span>941
|
|
<span class="xtra li2"><span class="de2">942</span></span>943
|
|
<span class="xtra li2"><span class="de2">944</span></span>945
|
|
<span class="xtra li2"><span class="de2">946</span></span>947
|
|
<span class="xtra li2"><span class="de2">948</span></span>949
|
|
<span class="xtra li2"><span class="de2">950</span></span>951
|
|
<span class="xtra li2"><span class="de2">952</span></span>953
|
|
<span class="xtra li2"><span class="de2">954</span></span>955
|
|
<span class="xtra li2"><span class="de2">956</span></span>957
|
|
<span class="xtra li2"><span class="de2">958</span></span>959
|
|
<span class="xtra li2"><span class="de2">960</span></span>961
|
|
<span class="xtra li2"><span class="de2">962</span></span>963
|
|
<span class="xtra li2"><span class="de2">964</span></span>965
|
|
<span class="xtra li2"><span class="de2">966</span></span>967
|
|
<span class="xtra li2"><span class="de2">968</span></span>969
|
|
<span class="xtra li2"><span class="de2">970</span></span>971
|
|
<span class="xtra li2"><span class="de2">972</span></span>973
|
|
<span class="xtra li2"><span class="de2">974</span></span>975
|
|
<span class="xtra li2"><span class="de2">976</span></span>977
|
|
<span class="xtra li2"><span class="de2">978</span></span>979
|
|
<span class="xtra li2"><span class="de2">980</span></span>981
|
|
<span class="xtra li2"><span class="de2">982</span></span>983
|
|
<span class="xtra li2"><span class="de2">984</span></span>985
|
|
<span class="xtra li2"><span class="de2">986</span></span>987
|
|
<span class="xtra li2"><span class="de2">988</span></span>989
|
|
<span class="xtra li2"><span class="de2">990</span></span>991
|
|
<span class="xtra li2"><span class="de2">992</span></span>993
|
|
<span class="xtra li2"><span class="de2">994</span></span>995
|
|
<span class="xtra li2"><span class="de2">996</span></span>997
|
|
<span class="xtra li2"><span class="de2">998</span></span>999
|
|
<span class="xtra li2"><span class="de2">1000</span></span>1001
|
|
<span class="xtra li2"><span class="de2">1002</span></span>1003
|
|
<span class="xtra li2"><span class="de2">1004</span></span>1005
|
|
<span class="xtra li2"><span class="de2">1006</span></span>1007
|
|
<span class="xtra li2"><span class="de2">1008</span></span>1009
|
|
<span class="xtra li2"><span class="de2">1010</span></span>1011
|
|
<span class="xtra li2"><span class="de2">1012</span></span>1013
|
|
<span class="xtra li2"><span class="de2">1014</span></span>1015
|
|
<span class="xtra li2"><span class="de2">1016</span></span>1017
|
|
<span class="xtra li2"><span class="de2">1018</span></span>1019
|
|
<span class="xtra li2"><span class="de2">1020</span></span>1021
|
|
<span class="xtra li2"><span class="de2">1022</span></span>1023
|
|
<span class="xtra li2"><span class="de2">1024</span></span>1025
|
|
<span class="xtra li2"><span class="de2">1026</span></span>1027
|
|
<span class="xtra li2"><span class="de2">1028</span></span>1029
|
|
<span class="xtra li2"><span class="de2">1030</span></span>1031
|
|
<span class="xtra li2"><span class="de2">1032</span></span>1033
|
|
<span class="xtra li2"><span class="de2">1034</span></span>1035
|
|
<span class="xtra li2"><span class="de2">1036</span></span>1037
|
|
<span class="xtra li2"><span class="de2">1038</span></span>1039
|
|
<span class="xtra li2"><span class="de2">1040</span></span>1041
|
|
<span class="xtra li2"><span class="de2">1042</span></span>1043
|
|
<span class="xtra li2"><span class="de2">1044</span></span>1045
|
|
<span class="xtra li2"><span class="de2">1046</span></span>1047
|
|
<span class="xtra li2"><span class="de2">1048</span></span>1049
|
|
<span class="xtra li2"><span class="de2">1050</span></span>1051
|
|
<span class="xtra li2"><span class="de2">1052</span></span>1053
|
|
<span class="xtra li2"><span class="de2">1054</span></span>1055
|
|
<span class="xtra li2"><span class="de2">1056</span></span>1057
|
|
<span class="xtra li2"><span class="de2">1058</span></span>1059
|
|
<span class="xtra li2"><span class="de2">1060</span></span>1061
|
|
<span class="xtra li2"><span class="de2">1062</span></span>1063
|
|
<span class="xtra li2"><span class="de2">1064</span></span>1065
|
|
<span class="xtra li2"><span class="de2">1066</span></span>1067
|
|
<span class="xtra li2"><span class="de2">1068</span></span>1069
|
|
<span class="xtra li2"><span class="de2">1070</span></span>1071
|
|
<span class="xtra li2"><span class="de2">1072</span></span>1073
|
|
<span class="xtra li2"><span class="de2">1074</span></span>1075
|
|
<span class="xtra li2"><span class="de2">1076</span></span>1077
|
|
<span class="xtra li2"><span class="de2">1078</span></span>1079
|
|
<span class="xtra li2"><span class="de2">1080</span></span>1081
|
|
<span class="xtra li2"><span class="de2">1082</span></span>1083
|
|
<span class="xtra li2"><span class="de2">1084</span></span>1085
|
|
<span class="xtra li2"><span class="de2">1086</span></span>1087
|
|
<span class="xtra li2"><span class="de2">1088</span></span>1089
|
|
<span class="xtra li2"><span class="de2">1090</span></span>1091
|
|
<span class="xtra li2"><span class="de2">1092</span></span>1093
|
|
<span class="xtra li2"><span class="de2">1094</span></span>1095
|
|
<span class="xtra li2"><span class="de2">1096</span></span>1097
|
|
<span class="xtra li2"><span class="de2">1098</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * php.php</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * --------</span></span></span><span class="coMULTI"> * Author: Nigel McNie (nigel@geshi.org)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)</span></span></span><span class="coMULTI"> * Release Version: 1.0.8.6</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: 2004/06/20</span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * PHP language file for GeSHi.</span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2008/05/23 (1.0.7.22)</span></span></span><span class="coMULTI"> * - Added description of extra language features (SF#1970248)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/11/25 (1.0.3)</span></span></span><span class="coMULTI"> * - Added support for multiple object splitters</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * - Fixed &new problem</span></span></span><span class="coMULTI"> * 2004/10/27 (1.0.2)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * - Added URL support</span></span></span><span class="coMULTI"> * - Added extra constants</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/08/05 (1.0.1)</span></span></span><span class="coMULTI"> * - Added support for symbols</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/07/14 (1.0.0)</span></span></span><span class="coMULTI"> * - First Release</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated 2004/07/14)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * -------------------------</span></span></span><span class="coMULTI"> * * Make sure the last few function I may have missed</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * (like eval()) are included for highlighting</span></span></span><span class="coMULTI"> * * Split to several files - php4, php5 etc</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * GeSHi is free software; you can redistribute it and/or modify</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI"> * the Free Software Foundation; either version 2 of the License, or</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></span></span><span class="coMULTI"> * GNU General Public License for more details.</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * You should have received a copy of the GNU General Public License</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$language_data</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'LANG_NAME'</span> <span class="sy0">=></span> <span class="st_h">'PHP'</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'#'</span><span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'/*'</span> <span class="sy0">=></span> <span class="st_h">'*/'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENT_REGEXP'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">//Heredoc and Nowdoc syntax</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// phpdoc comments</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'#/\*\*(?![\*\/]).*\*/#sU'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// Advanced # handling</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"/#.*?(?:(?=\?\>)|^)/smi"</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=></span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'"'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_REGEXP'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="co1">//Simple Single Char Escapes</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>[nfrtv<span class="es1">\$</span><span class="es1">\"</span><span class="es1">\n</span><span class="es1">\\</span><span class="es1">\\</span>]#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Hexadecimal Char Specs</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>x[\da-fA-F]{1,2}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Octal Char Specs</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>[0-7]{1,3}#"</span><span class="sy0">,</span></span></span> <span class="co1">//String Parsing of Variable Names</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span>$[a-z0-9_]+(?:<span class="es1">\\</span>[[a-z0-9_]+<span class="es1">\\</span>]|->[a-z0-9_]+)?|(?:<span class="es1">\\</span>{<span class="es1">\\</span>$|<span class="es1">\\</span>$<span class="es1">\\</span>{)[a-z0-9_]+(?:<span class="es1">\\</span>[('?)[a-z0-9_]*<span class="es1">\\</span>1<span class="es1">\\</span>]|->[a-z0-9_]+)*<span class="es1">\\</span>}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Experimental extension supporting cascaded {${$var}} syntax</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\$</span>[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{<span class="es1">\$</span>|<span class="es1">\$</span>\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*<span class="es1">\\</span>1\]|->[a-z0-9_]+)*\}|\{<span class="es1">\$</span>(?R)\}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Format String support in ""-Strings</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">6</span> <span class="sy0">=></span> <span class="st0">"#%(?:%|(?:\d+<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span><span class="es1">\$</span>)?<span class="es1">\\</span>+?(?:<span class="es2">\x20</span>|0|'.)?-?(?:\d+|<span class="es1">\\</span>*)?(?:\.\d+)?[bcdefFosuxX])#"</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'HARDQUOTE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st0">"'"</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'HARDESCAPE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st0">"<span class="es1">\\</span>"</span><span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'HARDCHAR'</span> <span class="sy0">=></span> <span class="st0">"<span class="es1">\\</span>"</span><span class="sy0">,</span></span></span> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span></span></span> GESHI_NUMBER_FLT_SCI_ZERO<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'as'</span><span class="sy0">,</span><span class="st_h">'break'</span><span class="sy0">,</span><span class="st_h">'case'</span><span class="sy0">,</span><span class="st_h">'continue'</span><span class="sy0">,</span><span class="st_h">'default'</span><span class="sy0">,</span><span class="st_h">'do'</span><span class="sy0">,</span><span class="st_h">'else'</span><span class="sy0">,</span><span class="st_h">'elseif'</span><span class="sy0">,</span></span></span> <span class="st_h">'endfor'</span><span class="sy0">,</span><span class="st_h">'endforeach'</span><span class="sy0">,</span><span class="st_h">'endif'</span><span class="sy0">,</span><span class="st_h">'endswitch'</span><span class="sy0">,</span><span class="st_h">'endwhile'</span><span class="sy0">,</span><span class="st_h">'for'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'foreach'</span><span class="sy0">,</span><span class="st_h">'if'</span><span class="sy0">,</span><span class="st_h">'include'</span><span class="sy0">,</span><span class="st_h">'include_once'</span><span class="sy0">,</span><span class="st_h">'require'</span><span class="sy0">,</span><span class="st_h">'require_once'</span><span class="sy0">,</span></span></span> <span class="st_h">'return'</span><span class="sy0">,</span><span class="st_h">'switch'</span><span class="sy0">,</span><span class="st_h">'throw'</span><span class="sy0">,</span><span class="st_h">'while'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span> <span class="st_h">'echo'</span><span class="sy0">,</span><span class="st_h">'print'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'&amp;new'</span><span class="sy0">,</span><span class="st_h">'&lt;/script&gt;'</span><span class="sy0">,</span><span class="st_h">'&lt;?php'</span><span class="sy0">,</span><span class="st_h">'&lt;script language'</span><span class="sy0">,</span></span></span> <span class="st_h">'class'</span><span class="sy0">,</span><span class="st_h">'const'</span><span class="sy0">,</span><span class="st_h">'declare'</span><span class="sy0">,</span><span class="st_h">'extends'</span><span class="sy0">,</span><span class="st_h">'function'</span><span class="sy0">,</span><span class="st_h">'global'</span><span class="sy0">,</span><span class="st_h">'interface'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'namespace'</span><span class="sy0">,</span><span class="st_h">'new'</span><span class="sy0">,</span><span class="st_h">'private'</span><span class="sy0">,</span><span class="st_h">'protected'</span><span class="sy0">,</span><span class="st_h">'public'</span><span class="sy0">,</span><span class="st_h">'self'</span><span class="sy0">,</span><span class="st_h">'use'</span><span class="sy0">,</span><span class="st_h">'var'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'abs'</span><span class="sy0">,</span><span class="st_h">'acos'</span><span class="sy0">,</span><span class="st_h">'acosh'</span><span class="sy0">,</span><span class="st_h">'addcslashes'</span><span class="sy0">,</span><span class="st_h">'addslashes'</span><span class="sy0">,</span><span class="st_h">'aggregate'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'aggregate_methods'</span><span class="sy0">,</span><span class="st_h">'aggregate_methods_by_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'aggregate_methods_by_regexp'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'aggregate_properties_by_list'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties_by_regexp'</span><span class="sy0">,</span></span></span> <span class="st_h">'aggregation_info'</span><span class="sy0">,</span><span class="st_h">'apache_child_terminate'</span><span class="sy0">,</span><span class="st_h">'apache_get_modules'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'apache_get_version'</span><span class="sy0">,</span><span class="st_h">'apache_getenv'</span><span class="sy0">,</span><span class="st_h">'apache_lookup_uri'</span><span class="sy0">,</span></span></span> <span class="st_h">'apache_note'</span><span class="sy0">,</span><span class="st_h">'apache_request_headers'</span><span class="sy0">,</span><span class="st_h">'apache_response_headers'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'apache_setenv'</span><span class="sy0">,</span><span class="st_h">'array'</span><span class="sy0">,</span><span class="st_h">'array_change_key_case'</span><span class="sy0">,</span><span class="st_h">'array_chunk'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_combine'</span><span class="sy0">,</span><span class="st_h">'array_count_values'</span><span class="sy0">,</span><span class="st_h">'array_diff'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_diff_assoc'</span><span class="sy0">,</span><span class="st_h">'array_diff_key'</span><span class="sy0">,</span><span class="st_h">'array_diff_uassoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_diff_ukey'</span><span class="sy0">,</span><span class="st_h">'array_fill'</span><span class="sy0">,</span><span class="st_h">'array_fill_keys'</span><span class="sy0">,</span><span class="st_h">'array_filter'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_flip'</span><span class="sy0">,</span><span class="st_h">'array_intersect'</span><span class="sy0">,</span><span class="st_h">'array_intersect_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_intersect_key'</span><span class="sy0">,</span><span class="st_h">'array_intersect_uassoc'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_intersect_ukey'</span><span class="sy0">,</span><span class="st_h">'array_key_exists'</span><span class="sy0">,</span><span class="st_h">'array_keys'</span><span class="sy0">,</span><span class="st_h">'array_map'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_merge'</span><span class="sy0">,</span><span class="st_h">'array_merge_recursive'</span><span class="sy0">,</span><span class="st_h">'array_multisort'</span><span class="sy0">,</span><span class="st_h">'array_pad'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_pop'</span><span class="sy0">,</span><span class="st_h">'array_product'</span><span class="sy0">,</span><span class="st_h">'array_push'</span><span class="sy0">,</span><span class="st_h">'array_rand'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_reduce'</span><span class="sy0">,</span><span class="st_h">'array_reverse'</span><span class="sy0">,</span><span class="st_h">'array_search'</span><span class="sy0">,</span><span class="st_h">'array_shift'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_slice'</span><span class="sy0">,</span><span class="st_h">'array_splice'</span><span class="sy0">,</span><span class="st_h">'array_sum'</span><span class="sy0">,</span><span class="st_h">'array_udiff'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_udiff_assoc'</span><span class="sy0">,</span><span class="st_h">'array_udiff_uassoc'</span><span class="sy0">,</span><span class="st_h">'array_uintersect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'array_uintersect_assoc'</span><span class="sy0">,</span><span class="st_h">'array_uintersect_uassoc'</span><span class="sy0">,</span><span class="st_h">'array_unique'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_unshift'</span><span class="sy0">,</span><span class="st_h">'array_values'</span><span class="sy0">,</span><span class="st_h">'array_walk'</span><span class="sy0">,</span><span class="st_h">'array_walk_recursive'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'arsort'</span><span class="sy0">,</span><span class="st_h">'asin'</span><span class="sy0">,</span><span class="st_h">'asinh'</span><span class="sy0">,</span><span class="st_h">'asort'</span><span class="sy0">,</span><span class="st_h">'assert'</span><span class="sy0">,</span><span class="st_h">'assert_options'</span><span class="sy0">,</span><span class="st_h">'atan'</span><span class="sy0">,</span></span></span> <span class="st_h">'atan2'</span><span class="sy0">,</span><span class="st_h">'atanh'</span><span class="sy0">,</span><span class="st_h">'base_convert'</span><span class="sy0">,</span><span class="st_h">'base64_decode'</span><span class="sy0">,</span><span class="st_h">'base64_encode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'basename'</span><span class="sy0">,</span><span class="st_h">'bcadd'</span><span class="sy0">,</span><span class="st_h">'bccomp'</span><span class="sy0">,</span><span class="st_h">'bcdiv'</span><span class="sy0">,</span><span class="st_h">'bcmod'</span><span class="sy0">,</span><span class="st_h">'bcmul'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_load'</span><span class="sy0">,</span><span class="st_h">'bcompiler_load_exe'</span><span class="sy0">,</span><span class="st_h">'bcompiler_parse_class'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_read'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_class'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_constant'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_write_exe_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_file'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_function'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_write_functions_from_file'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_header'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_included_filename'</span><span class="sy0">,</span><span class="st_h">'bcpow'</span><span class="sy0">,</span><span class="st_h">'bcpowmod'</span><span class="sy0">,</span><span class="st_h">'bcscale'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcsqrt'</span><span class="sy0">,</span><span class="st_h">'bcsub'</span><span class="sy0">,</span><span class="st_h">'bin2hex'</span><span class="sy0">,</span><span class="st_h">'bindec'</span><span class="sy0">,</span><span class="st_h">'bindtextdomain'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bind_textdomain_codeset'</span><span class="sy0">,</span><span class="st_h">'bitset_empty'</span><span class="sy0">,</span><span class="st_h">'bitset_equal'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_excl'</span><span class="sy0">,</span><span class="st_h">'bitset_fill'</span><span class="sy0">,</span><span class="st_h">'bitset_from_array'</span><span class="sy0">,</span><span class="st_h">'bitset_from_hash'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_from_string'</span><span class="sy0">,</span><span class="st_h">'bitset_in'</span><span class="sy0">,</span><span class="st_h">'bitset_incl'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_intersection'</span><span class="sy0">,</span><span class="st_h">'bitset_invert'</span><span class="sy0">,</span><span class="st_h">'bitset_is_empty'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_subset'</span><span class="sy0">,</span><span class="st_h">'bitset_to_array'</span><span class="sy0">,</span><span class="st_h">'bitset_to_hash'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_to_string'</span><span class="sy0">,</span><span class="st_h">'bitset_union'</span><span class="sy0">,</span><span class="st_h">'blenc_encrypt'</span><span class="sy0">,</span><span class="st_h">'bzclose'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'bzcompress'</span><span class="sy0">,</span><span class="st_h">'bzdecompress'</span><span class="sy0">,</span><span class="st_h">'bzerrno'</span><span class="sy0">,</span><span class="st_h">'bzerror'</span><span class="sy0">,</span><span class="st_h">'bzerrstr'</span><span class="sy0">,</span></span></span> <span class="st_h">'bzflush'</span><span class="sy0">,</span><span class="st_h">'bzopen'</span><span class="sy0">,</span><span class="st_h">'bzread'</span><span class="sy0">,</span><span class="st_h">'bzwrite'</span><span class="sy0">,</span><span class="st_h">'cal_days_in_month'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cal_from_jd'</span><span class="sy0">,</span><span class="st_h">'cal_info'</span><span class="sy0">,</span><span class="st_h">'cal_to_jd'</span><span class="sy0">,</span><span class="st_h">'call_user_func'</span><span class="sy0">,</span></span></span> <span class="st_h">'call_user_func_array'</span><span class="sy0">,</span><span class="st_h">'call_user_method'</span><span class="sy0">,</span><span class="st_h">'call_user_method_array'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ceil'</span><span class="sy0">,</span><span class="st_h">'chdir'</span><span class="sy0">,</span><span class="st_h">'checkdate'</span><span class="sy0">,</span><span class="st_h">'checkdnsrr'</span><span class="sy0">,</span><span class="st_h">'chgrp'</span><span class="sy0">,</span><span class="st_h">'chmod'</span><span class="sy0">,</span><span class="st_h">'chop'</span><span class="sy0">,</span></span></span> <span class="st_h">'chown'</span><span class="sy0">,</span><span class="st_h">'chr'</span><span class="sy0">,</span><span class="st_h">'chunk_split'</span><span class="sy0">,</span><span class="st_h">'class_exists'</span><span class="sy0">,</span><span class="st_h">'class_implements'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'class_parents'</span><span class="sy0">,</span><span class="st_h">'classkit_aggregate_methods'</span><span class="sy0">,</span></span></span> <span class="st_h">'classkit_doc_comments'</span><span class="sy0">,</span><span class="st_h">'classkit_import'</span><span class="sy0">,</span><span class="st_h">'classkit_method_add'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'classkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'classkit_method_redefine'</span><span class="sy0">,</span></span></span> <span class="st_h">'classkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'classkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'clearstatcache'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'closedir'</span><span class="sy0">,</span><span class="st_h">'closelog'</span><span class="sy0">,</span><span class="st_h">'com_create_guid'</span><span class="sy0">,</span><span class="st_h">'com_event_sink'</span><span class="sy0">,</span></span></span> <span class="st_h">'com_get_active_object'</span><span class="sy0">,</span><span class="st_h">'com_load_typelib'</span><span class="sy0">,</span><span class="st_h">'com_message_pump'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'com_print_typeinfo'</span><span class="sy0">,</span><span class="st_h">'compact'</span><span class="sy0">,</span><span class="st_h">'confirm_phpdoc_compiled'</span><span class="sy0">,</span></span></span> <span class="st_h">'connection_aborted'</span><span class="sy0">,</span><span class="st_h">'connection_status'</span><span class="sy0">,</span><span class="st_h">'constant'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'convert_cyr_string'</span><span class="sy0">,</span><span class="st_h">'convert_uudecode'</span><span class="sy0">,</span><span class="st_h">'convert_uuencode'</span><span class="sy0">,</span><span class="st_h">'copy'</span><span class="sy0">,</span></span></span> <span class="st_h">'cos'</span><span class="sy0">,</span><span class="st_h">'cosh'</span><span class="sy0">,</span><span class="st_h">'count'</span><span class="sy0">,</span><span class="st_h">'count_chars'</span><span class="sy0">,</span><span class="st_h">'cpdf_add_annotation'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_add_outline'</span><span class="sy0">,</span><span class="st_h">'cpdf_arc'</span><span class="sy0">,</span><span class="st_h">'cpdf_begin_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_circle'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_clip'</span><span class="sy0">,</span><span class="st_h">'cpdf_close'</span><span class="sy0">,</span><span class="st_h">'cpdf_closepath'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_closepath_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_closepath_stroke'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_continue_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_curveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_end_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_fill'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_finalize'</span><span class="sy0">,</span><span class="st_h">'cpdf_finalize_page'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_global_set_document_limits'</span><span class="sy0">,</span><span class="st_h">'cpdf_import_jpeg'</span><span class="sy0">,</span><span class="st_h">'cpdf_lineto'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_moveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_newpath'</span><span class="sy0">,</span><span class="st_h">'cpdf_open'</span><span class="sy0">,</span><span class="st_h">'cpdf_output_buffer'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_page_init'</span><span class="sy0">,</span><span class="st_h">'cpdf_rect'</span><span class="sy0">,</span><span class="st_h">'cpdf_restore'</span><span class="sy0">,</span><span class="st_h">'cpdf_rlineto'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_rmoveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_rotate'</span><span class="sy0">,</span><span class="st_h">'cpdf_rotate_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_save'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_save_to_file'</span><span class="sy0">,</span><span class="st_h">'cpdf_scale'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_action_url'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_char_spacing'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_creator'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_current_page'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_font'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_font_directories'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_font_map_file'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_horiz_scaling'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_keywords'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_leading'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_page_animation'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_subject'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_matrix'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_pos'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_text_rendering'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_rise'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_title'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_viewer_preferences'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_word_spacing'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_setdash'</span><span class="sy0">,</span><span class="st_h">'cpdf_setflat'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray_fill'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setgray_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_setlinecap'</span><span class="sy0">,</span><span class="st_h">'cpdf_setlinejoin'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_setlinewidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_setmiterlimit'</span><span class="sy0">,</span><span class="st_h">'cpdf_setrgbcolor'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setrgbcolor_fill'</span><span class="sy0">,</span><span class="st_h">'cpdf_setrgbcolor_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_show'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_show_xy'</span><span class="sy0">,</span><span class="st_h">'cpdf_stringwidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_text'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_translate'</span><span class="sy0">,</span><span class="st_h">'crack_check'</span><span class="sy0">,</span><span class="st_h">'crack_closedict'</span><span class="sy0">,</span></span></span> <span class="st_h">'crack_getlastmessage'</span><span class="sy0">,</span><span class="st_h">'crack_opendict'</span><span class="sy0">,</span><span class="st_h">'crc32'</span><span class="sy0">,</span><span class="st_h">'create_function'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'crypt'</span><span class="sy0">,</span><span class="st_h">'ctype_alnum'</span><span class="sy0">,</span><span class="st_h">'ctype_alpha'</span><span class="sy0">,</span><span class="st_h">'ctype_cntrl'</span><span class="sy0">,</span><span class="st_h">'ctype_digit'</span><span class="sy0">,</span></span></span> <span class="st_h">'ctype_graph'</span><span class="sy0">,</span><span class="st_h">'ctype_lower'</span><span class="sy0">,</span><span class="st_h">'ctype_print'</span><span class="sy0">,</span><span class="st_h">'ctype_punct'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ctype_space'</span><span class="sy0">,</span><span class="st_h">'ctype_upper'</span><span class="sy0">,</span><span class="st_h">'ctype_xdigit'</span><span class="sy0">,</span><span class="st_h">'curl_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_copy_handle'</span><span class="sy0">,</span><span class="st_h">'curl_errno'</span><span class="sy0">,</span><span class="st_h">'curl_error'</span><span class="sy0">,</span><span class="st_h">'curl_exec'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'curl_getinfo'</span><span class="sy0">,</span><span class="st_h">'curl_init'</span><span class="sy0">,</span><span class="st_h">'curl_multi_add_handle'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_multi_close'</span><span class="sy0">,</span><span class="st_h">'curl_multi_exec'</span><span class="sy0">,</span><span class="st_h">'curl_multi_getcontent'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'curl_multi_info_read'</span><span class="sy0">,</span><span class="st_h">'curl_multi_init'</span><span class="sy0">,</span><span class="st_h">'curl_multi_remove_handle'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_multi_select'</span><span class="sy0">,</span><span class="st_h">'curl_setopt'</span><span class="sy0">,</span><span class="st_h">'curl_setopt_array'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'curl_version'</span><span class="sy0">,</span><span class="st_h">'current'</span><span class="sy0">,</span><span class="st_h">'cvsclient_connect'</span><span class="sy0">,</span><span class="st_h">'cvsclient_log'</span><span class="sy0">,</span></span></span> <span class="st_h">'cvsclient_login'</span><span class="sy0">,</span><span class="st_h">'cvsclient_retrieve'</span><span class="sy0">,</span><span class="st_h">'date'</span><span class="sy0">,</span><span class="st_h">'date_create'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'date_date_set'</span><span class="sy0">,</span><span class="st_h">'date_default_timezone_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'date_default_timezone_set'</span><span class="sy0">,</span><span class="st_h">'date_format'</span><span class="sy0">,</span><span class="st_h">'date_isodate_set'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'date_modify'</span><span class="sy0">,</span><span class="st_h">'date_offset_get'</span><span class="sy0">,</span><span class="st_h">'date_parse'</span><span class="sy0">,</span><span class="st_h">'date_sun_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'date_sunrise'</span><span class="sy0">,</span><span class="st_h">'date_sunset'</span><span class="sy0">,</span><span class="st_h">'date_time_set'</span><span class="sy0">,</span><span class="st_h">'date_timezone_get'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'date_timezone_set'</span><span class="sy0">,</span><span class="st_h">'db_id_list'</span><span class="sy0">,</span><span class="st_h">'dba_close'</span><span class="sy0">,</span><span class="st_h">'dba_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'dba_exists'</span><span class="sy0">,</span><span class="st_h">'dba_fetch'</span><span class="sy0">,</span><span class="st_h">'dba_firstkey'</span><span class="sy0">,</span><span class="st_h">'dba_handlers'</span><span class="sy0">,</span><span class="st_h">'dba_insert'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dba_key_split'</span><span class="sy0">,</span><span class="st_h">'dba_list'</span><span class="sy0">,</span><span class="st_h">'dba_nextkey'</span><span class="sy0">,</span><span class="st_h">'dba_open'</span><span class="sy0">,</span><span class="st_h">'dba_optimize'</span><span class="sy0">,</span></span></span> <span class="st_h">'dba_popen'</span><span class="sy0">,</span><span class="st_h">'dba_replace'</span><span class="sy0">,</span><span class="st_h">'dba_sync'</span><span class="sy0">,</span><span class="st_h">'dbase_add_record'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_close'</span><span class="sy0">,</span><span class="st_h">'dbase_create'</span><span class="sy0">,</span><span class="st_h">'dbase_delete_record'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbase_get_header_info'</span><span class="sy0">,</span><span class="st_h">'dbase_get_record'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_get_record_with_names'</span><span class="sy0">,</span><span class="st_h">'dbase_numfields'</span><span class="sy0">,</span><span class="st_h">'dbase_numrecords'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbase_open'</span><span class="sy0">,</span><span class="st_h">'dbase_pack'</span><span class="sy0">,</span><span class="st_h">'dbase_replace_record'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_all_contexts'</span><span class="sy0">,</span><span class="st_h">'dbg_get_all_module_names'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbg_get_all_source_lines'</span><span class="sy0">,</span><span class="st_h">'dbg_get_context_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_module_name'</span><span class="sy0">,</span><span class="st_h">'dbg_get_profiler_results'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbg_get_source_context'</span><span class="sy0">,</span><span class="st_h">'dblist'</span><span class="sy0">,</span><span class="st_h">'dbmclose'</span><span class="sy0">,</span><span class="st_h">'dbmdelete'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbmexists'</span><span class="sy0">,</span><span class="st_h">'dbmfetch'</span><span class="sy0">,</span><span class="st_h">'dbmfirstkey'</span><span class="sy0">,</span><span class="st_h">'dbminsert'</span><span class="sy0">,</span><span class="st_h">'dbmnextkey'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbmopen'</span><span class="sy0">,</span><span class="st_h">'dbmreplace'</span><span class="sy0">,</span><span class="st_h">'dbx_close'</span><span class="sy0">,</span><span class="st_h">'dbx_compare'</span><span class="sy0">,</span><span class="st_h">'dbx_connect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dbx_error'</span><span class="sy0">,</span><span class="st_h">'dbx_escape_string'</span><span class="sy0">,</span><span class="st_h">'dbx_fetch_row'</span><span class="sy0">,</span><span class="st_h">'dbx_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbx_sort'</span><span class="sy0">,</span><span class="st_h">'dcgettext'</span><span class="sy0">,</span><span class="st_h">'dcngettext'</span><span class="sy0">,</span><span class="st_h">'deaggregate'</span><span class="sy0">,</span><span class="st_h">'debug_backtrace'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'debug_zval_dump'</span><span class="sy0">,</span><span class="st_h">'debugbreak'</span><span class="sy0">,</span><span class="st_h">'decbin'</span><span class="sy0">,</span><span class="st_h">'dechex'</span><span class="sy0">,</span><span class="st_h">'decoct'</span><span class="sy0">,</span><span class="st_h">'define'</span><span class="sy0">,</span></span></span> <span class="st_h">'defined'</span><span class="sy0">,</span><span class="st_h">'define_syslog_variables'</span><span class="sy0">,</span><span class="st_h">'deg2rad'</span><span class="sy0">,</span><span class="st_h">'dgettext'</span><span class="sy0">,</span><span class="st_h">'die'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'dio_close'</span><span class="sy0">,</span><span class="st_h">'dio_open'</span><span class="sy0">,</span><span class="st_h">'dio_read'</span><span class="sy0">,</span><span class="st_h">'dio_seek'</span><span class="sy0">,</span><span class="st_h">'dio_stat'</span><span class="sy0">,</span><span class="st_h">'dio_write'</span><span class="sy0">,</span></span></span> <span class="st_h">'dir'</span><span class="sy0">,</span><span class="st_h">'dirname'</span><span class="sy0">,</span><span class="st_h">'disk_free_space'</span><span class="sy0">,</span><span class="st_h">'disk_total_space'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'diskfreespace'</span><span class="sy0">,</span><span class="st_h">'dl'</span><span class="sy0">,</span><span class="st_h">'dngettext'</span><span class="sy0">,</span><span class="st_h">'docblock_token_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'docblock_tokenize'</span><span class="sy0">,</span><span class="st_h">'dom_import_simplexml'</span><span class="sy0">,</span><span class="st_h">'domxml_add_root'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_children'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_add_root'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_doc_document_element'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_get_element_by_id'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_doc_get_elements_by_tagname'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_get_root'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_doc_set_root'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_validate'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_xinclude'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_dump_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_dump_mem_file'</span><span class="sy0">,</span><span class="st_h">'domxml_dump_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_dumpmem'</span><span class="sy0">,</span><span class="st_h">'domxml_elem_get_attribute'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_elem_set_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_get_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_getattr'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_html_dump_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_new_doc'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_new_xmldoc'</span><span class="sy0">,</span><span class="st_h">'domxml_node'</span><span class="sy0">,</span><span class="st_h">'domxml_node_add_namespace'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_node_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_node_children'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_get_content'</span><span class="sy0">,</span><span class="st_h">'domxml_node_has_attributes'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_node_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_node_set_content'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_set_namespace'</span><span class="sy0">,</span><span class="st_h">'domxml_node_unlink_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_open_file'</span><span class="sy0">,</span><span class="st_h">'domxml_open_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_parser'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_add_chunk'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_cdata_section'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_characters'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_comment'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_end'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_end_document'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_end_element'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_entity_reference'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_get_document'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_namespace_decl'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_processing_instruction'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_start_document'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_start_element'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_root'</span><span class="sy0">,</span><span class="st_h">'domxml_set_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_setattr'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_substitute_entities_default'</span><span class="sy0">,</span><span class="st_h">'domxml_unlink_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_version'</span><span class="sy0">,</span><span class="st_h">'domxml_xmltree'</span><span class="sy0">,</span><span class="st_h">'doubleval'</span><span class="sy0">,</span><span class="st_h">'each'</span><span class="sy0">,</span><span class="st_h">'easter_date'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'easter_days'</span><span class="sy0">,</span><span class="st_h">'empty'</span><span class="sy0">,</span><span class="st_h">'end'</span><span class="sy0">,</span><span class="st_h">'ereg'</span><span class="sy0">,</span><span class="st_h">'ereg_replace'</span><span class="sy0">,</span><span class="st_h">'eregi'</span><span class="sy0">,</span></span></span> <span class="st_h">'eregi_replace'</span><span class="sy0">,</span><span class="st_h">'error_get_last'</span><span class="sy0">,</span><span class="st_h">'error_log'</span><span class="sy0">,</span><span class="st_h">'error_reporting'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'escapeshellarg'</span><span class="sy0">,</span><span class="st_h">'escapeshellcmd'</span><span class="sy0">,</span><span class="st_h">'eval'</span><span class="sy0">,</span><span class="st_h">'event_deschedule'</span><span class="sy0">,</span></span></span> <span class="st_h">'event_dispatch'</span><span class="sy0">,</span><span class="st_h">'event_free'</span><span class="sy0">,</span><span class="st_h">'event_handle_signal'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'event_have_events'</span><span class="sy0">,</span><span class="st_h">'event_init'</span><span class="sy0">,</span><span class="st_h">'event_new'</span><span class="sy0">,</span><span class="st_h">'event_pending'</span><span class="sy0">,</span></span></span> <span class="st_h">'event_priority_set'</span><span class="sy0">,</span><span class="st_h">'event_schedule'</span><span class="sy0">,</span><span class="st_h">'event_set'</span><span class="sy0">,</span><span class="st_h">'event_timeout'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'exec'</span><span class="sy0">,</span><span class="st_h">'exif_imagetype'</span><span class="sy0">,</span><span class="st_h">'exif_read_data'</span><span class="sy0">,</span><span class="st_h">'exif_tagname'</span><span class="sy0">,</span></span></span> <span class="st_h">'exif_thumbnail'</span><span class="sy0">,</span><span class="st_h">'exit'</span><span class="sy0">,</span><span class="st_h">'exp'</span><span class="sy0">,</span><span class="st_h">'explode'</span><span class="sy0">,</span><span class="st_h">'expm1'</span><span class="sy0">,</span><span class="st_h">'extension_loaded'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'extract'</span><span class="sy0">,</span><span class="st_h">'ezmlm_hash'</span><span class="sy0">,</span><span class="st_h">'fbird_add_user'</span><span class="sy0">,</span><span class="st_h">'fbird_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_backup'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_add'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_cancel'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_blob_close'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_create'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_echo'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_blob_get'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_import'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_blob_open'</span><span class="sy0">,</span><span class="st_h">'fbird_close'</span><span class="sy0">,</span><span class="st_h">'fbird_commit'</span><span class="sy0">,</span><span class="st_h">'fbird_commit_ret'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_connect'</span><span class="sy0">,</span><span class="st_h">'fbird_db_info'</span><span class="sy0">,</span><span class="st_h">'fbird_delete_user'</span><span class="sy0">,</span><span class="st_h">'fbird_drop_db'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_errcode'</span><span class="sy0">,</span><span class="st_h">'fbird_errmsg'</span><span class="sy0">,</span><span class="st_h">'fbird_execute'</span><span class="sy0">,</span><span class="st_h">'fbird_fetch_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_fetch_object'</span><span class="sy0">,</span><span class="st_h">'fbird_fetch_row'</span><span class="sy0">,</span><span class="st_h">'fbird_field_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_free_event_handler'</span><span class="sy0">,</span><span class="st_h">'fbird_free_query'</span><span class="sy0">,</span><span class="st_h">'fbird_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_gen_id'</span><span class="sy0">,</span><span class="st_h">'fbird_maintain_db'</span><span class="sy0">,</span><span class="st_h">'fbird_modify_user'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_name_result'</span><span class="sy0">,</span><span class="st_h">'fbird_num_fields'</span><span class="sy0">,</span><span class="st_h">'fbird_num_params'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_param_info'</span><span class="sy0">,</span><span class="st_h">'fbird_pconnect'</span><span class="sy0">,</span><span class="st_h">'fbird_prepare'</span><span class="sy0">,</span><span class="st_h">'fbird_query'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_restore'</span><span class="sy0">,</span><span class="st_h">'fbird_rollback'</span><span class="sy0">,</span><span class="st_h">'fbird_rollback_ret'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_server_info'</span><span class="sy0">,</span><span class="st_h">'fbird_service_attach'</span><span class="sy0">,</span><span class="st_h">'fbird_service_detach'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_set_event_handler'</span><span class="sy0">,</span><span class="st_h">'fbird_trans'</span><span class="sy0">,</span><span class="st_h">'fbird_wait_event'</span><span class="sy0">,</span><span class="st_h">'fclose'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_add_doc_javascript'</span><span class="sy0">,</span><span class="st_h">'fdf_add_template'</span><span class="sy0">,</span><span class="st_h">'fdf_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_create'</span><span class="sy0">,</span><span class="st_h">'fdf_enum_values'</span><span class="sy0">,</span><span class="st_h">'fdf_errno'</span><span class="sy0">,</span><span class="st_h">'fdf_error'</span><span class="sy0">,</span><span class="st_h">'fdf_get_ap'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_get_attachment'</span><span class="sy0">,</span><span class="st_h">'fdf_get_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_get_file'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_get_flags'</span><span class="sy0">,</span><span class="st_h">'fdf_get_opt'</span><span class="sy0">,</span><span class="st_h">'fdf_get_status'</span><span class="sy0">,</span><span class="st_h">'fdf_get_value'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_get_version'</span><span class="sy0">,</span><span class="st_h">'fdf_header'</span><span class="sy0">,</span><span class="st_h">'fdf_next_field_name'</span><span class="sy0">,</span><span class="st_h">'fdf_open'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_open_string'</span><span class="sy0">,</span><span class="st_h">'fdf_remove_item'</span><span class="sy0">,</span><span class="st_h">'fdf_save'</span><span class="sy0">,</span><span class="st_h">'fdf_save_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_set_ap'</span><span class="sy0">,</span><span class="st_h">'fdf_set_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_set_file'</span><span class="sy0">,</span><span class="st_h">'fdf_set_flags'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_javascript_action'</span><span class="sy0">,</span><span class="st_h">'fdf_set_on_import_javascript'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_set_opt'</span><span class="sy0">,</span><span class="st_h">'fdf_set_status'</span><span class="sy0">,</span><span class="st_h">'fdf_set_submit_form_action'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_target_frame'</span><span class="sy0">,</span><span class="st_h">'fdf_set_value'</span><span class="sy0">,</span><span class="st_h">'fdf_set_version'</span><span class="sy0">,</span><span class="st_h">'feof'</span><span class="sy0">,</span></span></span> <span class="st_h">'fflush'</span><span class="sy0">,</span><span class="st_h">'fgetc'</span><span class="sy0">,</span><span class="st_h">'fgetcsv'</span><span class="sy0">,</span><span class="st_h">'fgets'</span><span class="sy0">,</span><span class="st_h">'fgetss'</span><span class="sy0">,</span><span class="st_h">'file'</span><span class="sy0">,</span><span class="st_h">'file_exists'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'file_get_contents'</span><span class="sy0">,</span><span class="st_h">'file_put_contents'</span><span class="sy0">,</span><span class="st_h">'fileatime'</span><span class="sy0">,</span><span class="st_h">'filectime'</span><span class="sy0">,</span></span></span> <span class="st_h">'filegroup'</span><span class="sy0">,</span><span class="st_h">'fileinode'</span><span class="sy0">,</span><span class="st_h">'filemtime'</span><span class="sy0">,</span><span class="st_h">'fileowner'</span><span class="sy0">,</span><span class="st_h">'fileperms'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'filepro'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldcount'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldname'</span><span class="sy0">,</span></span></span> <span class="st_h">'filepro_fieldtype'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldwidth'</span><span class="sy0">,</span><span class="st_h">'filepro_retrieve'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'filepro_rowcount'</span><span class="sy0">,</span><span class="st_h">'filesize'</span><span class="sy0">,</span><span class="st_h">'filetype'</span><span class="sy0">,</span><span class="st_h">'filter_has_var'</span><span class="sy0">,</span></span></span> <span class="st_h">'filter_id'</span><span class="sy0">,</span><span class="st_h">'filter_input'</span><span class="sy0">,</span><span class="st_h">'filter_input_array'</span><span class="sy0">,</span><span class="st_h">'filter_list'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'filter_var'</span><span class="sy0">,</span><span class="st_h">'filter_var_array'</span><span class="sy0">,</span><span class="st_h">'finfo_buffer'</span><span class="sy0">,</span><span class="st_h">'finfo_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'finfo_file'</span><span class="sy0">,</span><span class="st_h">'finfo_open'</span><span class="sy0">,</span><span class="st_h">'finfo_set_flags'</span><span class="sy0">,</span><span class="st_h">'floatval'</span><span class="sy0">,</span><span class="st_h">'flock'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'floor'</span><span class="sy0">,</span><span class="st_h">'flush'</span><span class="sy0">,</span><span class="st_h">'fmod'</span><span class="sy0">,</span><span class="st_h">'fnmatch'</span><span class="sy0">,</span><span class="st_h">'fopen'</span><span class="sy0">,</span><span class="st_h">'fpassthru'</span><span class="sy0">,</span><span class="st_h">'fprintf'</span><span class="sy0">,</span></span></span> <span class="st_h">'fputcsv'</span><span class="sy0">,</span><span class="st_h">'fputs'</span><span class="sy0">,</span><span class="st_h">'fread'</span><span class="sy0">,</span><span class="st_h">'frenchtojd'</span><span class="sy0">,</span><span class="st_h">'fribidi_charset_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'fribidi_get_charsets'</span><span class="sy0">,</span><span class="st_h">'fribidi_log2vis'</span><span class="sy0">,</span><span class="st_h">'fscanf'</span><span class="sy0">,</span><span class="st_h">'fseek'</span><span class="sy0">,</span></span></span> <span class="st_h">'fsockopen'</span><span class="sy0">,</span><span class="st_h">'fstat'</span><span class="sy0">,</span><span class="st_h">'ftell'</span><span class="sy0">,</span><span class="st_h">'ftok'</span><span class="sy0">,</span><span class="st_h">'ftp_alloc'</span><span class="sy0">,</span><span class="st_h">'ftp_cdup'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_chdir'</span><span class="sy0">,</span><span class="st_h">'ftp_chmod'</span><span class="sy0">,</span><span class="st_h">'ftp_close'</span><span class="sy0">,</span><span class="st_h">'ftp_connect'</span><span class="sy0">,</span><span class="st_h">'ftp_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_exec'</span><span class="sy0">,</span><span class="st_h">'ftp_fget'</span><span class="sy0">,</span><span class="st_h">'ftp_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_get'</span><span class="sy0">,</span><span class="st_h">'ftp_get_option'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_login'</span><span class="sy0">,</span><span class="st_h">'ftp_mdtm'</span><span class="sy0">,</span><span class="st_h">'ftp_mkdir'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_continue'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_fget'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_nb_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_get'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_put'</span><span class="sy0">,</span><span class="st_h">'ftp_nlist'</span><span class="sy0">,</span><span class="st_h">'ftp_pasv'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_put'</span><span class="sy0">,</span><span class="st_h">'ftp_pwd'</span><span class="sy0">,</span><span class="st_h">'ftp_quit'</span><span class="sy0">,</span><span class="st_h">'ftp_raw'</span><span class="sy0">,</span><span class="st_h">'ftp_rawlist'</span><span class="sy0">,</span><span class="st_h">'ftp_rename'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_rmdir'</span><span class="sy0">,</span><span class="st_h">'ftp_set_option'</span><span class="sy0">,</span><span class="st_h">'ftp_site'</span><span class="sy0">,</span><span class="st_h">'ftp_size'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_ssl_connect'</span><span class="sy0">,</span><span class="st_h">'ftp_systype'</span><span class="sy0">,</span><span class="st_h">'ftruncate'</span><span class="sy0">,</span><span class="st_h">'function_exists'</span><span class="sy0">,</span></span></span> <span class="st_h">'func_get_arg'</span><span class="sy0">,</span><span class="st_h">'func_get_args'</span><span class="sy0">,</span><span class="st_h">'func_num_args'</span><span class="sy0">,</span><span class="st_h">'fwrite'</span><span class="sy0">,</span><span class="st_h">'gd_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'getallheaders'</span><span class="sy0">,</span><span class="st_h">'getcwd'</span><span class="sy0">,</span><span class="st_h">'getdate'</span><span class="sy0">,</span><span class="st_h">'getenv'</span><span class="sy0">,</span><span class="st_h">'gethostbyaddr'</span><span class="sy0">,</span></span></span> <span class="st_h">'gethostbyname'</span><span class="sy0">,</span><span class="st_h">'gethostbynamel'</span><span class="sy0">,</span><span class="st_h">'getimagesize'</span><span class="sy0">,</span><span class="st_h">'getlastmod'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'getmxrr'</span><span class="sy0">,</span><span class="st_h">'getmygid'</span><span class="sy0">,</span><span class="st_h">'getmyinode'</span><span class="sy0">,</span><span class="st_h">'getmypid'</span><span class="sy0">,</span><span class="st_h">'getmyuid'</span><span class="sy0">,</span><span class="st_h">'getopt'</span><span class="sy0">,</span></span></span> <span class="st_h">'getprotobyname'</span><span class="sy0">,</span><span class="st_h">'getprotobynumber'</span><span class="sy0">,</span><span class="st_h">'getrandmax'</span><span class="sy0">,</span><span class="st_h">'getrusage'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'getservbyname'</span><span class="sy0">,</span><span class="st_h">'getservbyport'</span><span class="sy0">,</span><span class="st_h">'gettext'</span><span class="sy0">,</span><span class="st_h">'gettimeofday'</span><span class="sy0">,</span><span class="st_h">'gettype'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_browser'</span><span class="sy0">,</span><span class="st_h">'get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'get_class'</span><span class="sy0">,</span><span class="st_h">'get_class_methods'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'get_class_vars'</span><span class="sy0">,</span><span class="st_h">'get_current_user'</span><span class="sy0">,</span><span class="st_h">'get_declared_classes'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_defined_constants'</span><span class="sy0">,</span><span class="st_h">'get_defined_functions'</span><span class="sy0">,</span><span class="st_h">'get_defined_vars'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'get_extension_funcs'</span><span class="sy0">,</span><span class="st_h">'get_headers'</span><span class="sy0">,</span><span class="st_h">'get_html_translation_table'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_included_files'</span><span class="sy0">,</span><span class="st_h">'get_include_path'</span><span class="sy0">,</span><span class="st_h">'get_loaded_extensions'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'get_magic_quotes_gpc'</span><span class="sy0">,</span><span class="st_h">'get_magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'get_meta_tags'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_object_vars'</span><span class="sy0">,</span><span class="st_h">'get_parent_class'</span><span class="sy0">,</span><span class="st_h">'get_required_files'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'get_resource_type'</span><span class="sy0">,</span><span class="st_h">'glob'</span><span class="sy0">,</span><span class="st_h">'gmdate'</span><span class="sy0">,</span><span class="st_h">'gmmktime'</span><span class="sy0">,</span><span class="st_h">'gmp_abs'</span><span class="sy0">,</span><span class="st_h">'gmp_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_and'</span><span class="sy0">,</span><span class="st_h">'gmp_clrbit'</span><span class="sy0">,</span><span class="st_h">'gmp_cmp'</span><span class="sy0">,</span><span class="st_h">'gmp_com'</span><span class="sy0">,</span><span class="st_h">'gmp_div'</span><span class="sy0">,</span><span class="st_h">'gmp_div_q'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_div_qr'</span><span class="sy0">,</span><span class="st_h">'gmp_div_r'</span><span class="sy0">,</span><span class="st_h">'gmp_divexact'</span><span class="sy0">,</span><span class="st_h">'gmp_fact'</span><span class="sy0">,</span><span class="st_h">'gmp_gcd'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_gcdext'</span><span class="sy0">,</span><span class="st_h">'gmp_hamdist'</span><span class="sy0">,</span><span class="st_h">'gmp_init'</span><span class="sy0">,</span><span class="st_h">'gmp_intval'</span><span class="sy0">,</span><span class="st_h">'gmp_invert'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_jacobi'</span><span class="sy0">,</span><span class="st_h">'gmp_legendre'</span><span class="sy0">,</span><span class="st_h">'gmp_mod'</span><span class="sy0">,</span><span class="st_h">'gmp_mul'</span><span class="sy0">,</span><span class="st_h">'gmp_neg'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_nextprime'</span><span class="sy0">,</span><span class="st_h">'gmp_or'</span><span class="sy0">,</span><span class="st_h">'gmp_perfect_square'</span><span class="sy0">,</span><span class="st_h">'gmp_popcount'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_pow'</span><span class="sy0">,</span><span class="st_h">'gmp_powm'</span><span class="sy0">,</span><span class="st_h">'gmp_prob_prime'</span><span class="sy0">,</span><span class="st_h">'gmp_random'</span><span class="sy0">,</span><span class="st_h">'gmp_scan0'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_scan1'</span><span class="sy0">,</span><span class="st_h">'gmp_setbit'</span><span class="sy0">,</span><span class="st_h">'gmp_sign'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrt'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrtrem'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_strval'</span><span class="sy0">,</span><span class="st_h">'gmp_sub'</span><span class="sy0">,</span><span class="st_h">'gmp_xor'</span><span class="sy0">,</span><span class="st_h">'gmstrftime'</span><span class="sy0">,</span><span class="st_h">'gopher_parsedir'</span><span class="sy0">,</span></span></span> <span class="st_h">'gregoriantojd'</span><span class="sy0">,</span><span class="st_h">'gzclose'</span><span class="sy0">,</span><span class="st_h">'gzcompress'</span><span class="sy0">,</span><span class="st_h">'gzdeflate'</span><span class="sy0">,</span><span class="st_h">'gzencode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gzeof'</span><span class="sy0">,</span><span class="st_h">'gzfile'</span><span class="sy0">,</span><span class="st_h">'gzgetc'</span><span class="sy0">,</span><span class="st_h">'gzgets'</span><span class="sy0">,</span><span class="st_h">'gzgetss'</span><span class="sy0">,</span><span class="st_h">'gzinflate'</span><span class="sy0">,</span><span class="st_h">'gzopen'</span><span class="sy0">,</span></span></span> <span class="st_h">'gzpassthru'</span><span class="sy0">,</span><span class="st_h">'gzputs'</span><span class="sy0">,</span><span class="st_h">'gzread'</span><span class="sy0">,</span><span class="st_h">'gzrewind'</span><span class="sy0">,</span><span class="st_h">'gzseek'</span><span class="sy0">,</span><span class="st_h">'gztell'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'gzuncompress'</span><span class="sy0">,</span><span class="st_h">'gzwrite'</span><span class="sy0">,</span><span class="st_h">'hash'</span><span class="sy0">,</span><span class="st_h">'hash_algos'</span><span class="sy0">,</span><span class="st_h">'hash_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'hash_final'</span><span class="sy0">,</span><span class="st_h">'hash_hmac'</span><span class="sy0">,</span><span class="st_h">'hash_hmac_file'</span><span class="sy0">,</span><span class="st_h">'hash_init'</span><span class="sy0">,</span><span class="st_h">'hash_update'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'hash_update_file'</span><span class="sy0">,</span><span class="st_h">'hash_update_stream'</span><span class="sy0">,</span><span class="st_h">'header'</span><span class="sy0">,</span><span class="st_h">'headers_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'headers_sent'</span><span class="sy0">,</span><span class="st_h">'hebrev'</span><span class="sy0">,</span><span class="st_h">'hebrevc'</span><span class="sy0">,</span><span class="st_h">'hexdec'</span><span class="sy0">,</span><span class="st_h">'highlight_file'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'highlight_string'</span><span class="sy0">,</span><span class="st_h">'html_doc'</span><span class="sy0">,</span><span class="st_h">'html_doc_file'</span><span class="sy0">,</span><span class="st_h">'html_entity_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'htmlentities'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars_decode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_build_cookie'</span><span class="sy0">,</span><span class="st_h">'http_build_query'</span><span class="sy0">,</span><span class="st_h">'http_build_str'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_build_url'</span><span class="sy0">,</span><span class="st_h">'http_cache_etag'</span><span class="sy0">,</span><span class="st_h">'http_cache_last_modified'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_chunked_decode'</span><span class="sy0">,</span><span class="st_h">'http_date'</span><span class="sy0">,</span><span class="st_h">'http_deflate'</span><span class="sy0">,</span><span class="st_h">'http_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_get_request_body'</span><span class="sy0">,</span><span class="st_h">'http_get_request_body_stream'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_get_request_headers'</span><span class="sy0">,</span><span class="st_h">'http_head'</span><span class="sy0">,</span><span class="st_h">'http_inflate'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_match_etag'</span><span class="sy0">,</span><span class="st_h">'http_match_modified'</span><span class="sy0">,</span><span class="st_h">'http_match_request_header'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_negotiate_charset'</span><span class="sy0">,</span><span class="st_h">'http_negotiate_content_type'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_negotiate_language'</span><span class="sy0">,</span><span class="st_h">'http_parse_cookie'</span><span class="sy0">,</span><span class="st_h">'http_parse_headers'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_parse_message'</span><span class="sy0">,</span><span class="st_h">'http_parse_params'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_persistent_handles_clean'</span><span class="sy0">,</span><span class="st_h">'http_persistent_handles_count'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_persistent_handles_ident'</span><span class="sy0">,</span><span class="st_h">'http_post_data'</span><span class="sy0">,</span><span class="st_h">'http_post_fields'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_put_data'</span><span class="sy0">,</span><span class="st_h">'http_put_file'</span><span class="sy0">,</span><span class="st_h">'http_put_stream'</span><span class="sy0">,</span><span class="st_h">'http_redirect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_request'</span><span class="sy0">,</span><span class="st_h">'http_request_body_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_request_method_exists'</span><span class="sy0">,</span><span class="st_h">'http_request_method_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_request_method_register'</span><span class="sy0">,</span><span class="st_h">'http_request_method_unregister'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_send_content_disposition'</span><span class="sy0">,</span><span class="st_h">'http_send_content_type'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_send_data'</span><span class="sy0">,</span><span class="st_h">'http_send_file'</span><span class="sy0">,</span><span class="st_h">'http_send_last_modified'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_send_status'</span><span class="sy0">,</span><span class="st_h">'http_send_stream'</span><span class="sy0">,</span><span class="st_h">'http_support'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'http_throttle'</span><span class="sy0">,</span><span class="st_h">'hypot'</span><span class="sy0">,</span><span class="st_h">'i18n_convert'</span><span class="sy0">,</span><span class="st_h">'i18n_discover_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'i18n_http_input'</span><span class="sy0">,</span><span class="st_h">'i18n_http_output'</span><span class="sy0">,</span><span class="st_h">'i18n_internal_encoding'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'i18n_ja_jp_hantozen'</span><span class="sy0">,</span><span class="st_h">'i18n_mime_header_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'i18n_mime_header_encode'</span><span class="sy0">,</span><span class="st_h">'ibase_add_user'</span><span class="sy0">,</span><span class="st_h">'ibase_affected_rows'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_backup'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_add'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_cancel'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_blob_close'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_create'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_echo'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_blob_get'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_import'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_blob_open'</span><span class="sy0">,</span><span class="st_h">'ibase_close'</span><span class="sy0">,</span><span class="st_h">'ibase_commit'</span><span class="sy0">,</span><span class="st_h">'ibase_commit_ret'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_connect'</span><span class="sy0">,</span><span class="st_h">'ibase_db_info'</span><span class="sy0">,</span><span class="st_h">'ibase_delete_user'</span><span class="sy0">,</span><span class="st_h">'ibase_drop_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_errcode'</span><span class="sy0">,</span><span class="st_h">'ibase_errmsg'</span><span class="sy0">,</span><span class="st_h">'ibase_execute'</span><span class="sy0">,</span><span class="st_h">'ibase_fetch_assoc'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_fetch_object'</span><span class="sy0">,</span><span class="st_h">'ibase_fetch_row'</span><span class="sy0">,</span><span class="st_h">'ibase_field_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_free_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_free_query'</span><span class="sy0">,</span><span class="st_h">'ibase_free_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_gen_id'</span><span class="sy0">,</span><span class="st_h">'ibase_maintain_db'</span><span class="sy0">,</span><span class="st_h">'ibase_modify_user'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_name_result'</span><span class="sy0">,</span><span class="st_h">'ibase_num_fields'</span><span class="sy0">,</span><span class="st_h">'ibase_num_params'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_param_info'</span><span class="sy0">,</span><span class="st_h">'ibase_pconnect'</span><span class="sy0">,</span><span class="st_h">'ibase_prepare'</span><span class="sy0">,</span><span class="st_h">'ibase_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_restore'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback_ret'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_server_info'</span><span class="sy0">,</span><span class="st_h">'ibase_service_attach'</span><span class="sy0">,</span><span class="st_h">'ibase_service_detach'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_set_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_trans'</span><span class="sy0">,</span><span class="st_h">'ibase_wait_event'</span><span class="sy0">,</span><span class="st_h">'iconv'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_get_encoding'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'iconv_mime_decode_headers'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_encode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_set_encoding'</span><span class="sy0">,</span><span class="st_h">'iconv_strlen'</span><span class="sy0">,</span><span class="st_h">'iconv_strpos'</span><span class="sy0">,</span><span class="st_h">'iconv_strrpos'</span><span class="sy0">,</span></span></span> <span class="st_h">'iconv_substr'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_long_name'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_short_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'id3_get_genre_id'</span><span class="sy0">,</span><span class="st_h">'id3_get_genre_list'</span><span class="sy0">,</span><span class="st_h">'id3_get_genre_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'id3_get_tag'</span><span class="sy0">,</span><span class="st_h">'id3_get_version'</span><span class="sy0">,</span><span class="st_h">'id3_remove_tag'</span><span class="sy0">,</span><span class="st_h">'id3_set_tag'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'idate'</span><span class="sy0">,</span><span class="st_h">'ignore_user_abort'</span><span class="sy0">,</span><span class="st_h">'image_type_to_extension'</span><span class="sy0">,</span></span></span> <span class="st_h">'image_type_to_mime_type'</span><span class="sy0">,</span><span class="st_h">'image2wbmp'</span><span class="sy0">,</span><span class="st_h">'imagealphablending'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imageantialias'</span><span class="sy0">,</span><span class="st_h">'imagearc'</span><span class="sy0">,</span><span class="st_h">'imagechar'</span><span class="sy0">,</span><span class="st_h">'imagecharup'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorallocate'</span><span class="sy0">,</span><span class="st_h">'imagecolorallocatealpha'</span><span class="sy0">,</span><span class="st_h">'imagecolorat'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorclosest'</span><span class="sy0">,</span><span class="st_h">'imagecolorclosestalpha'</span><span class="sy0">,</span><span class="st_h">'imagecolordeallocate'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorexact'</span><span class="sy0">,</span><span class="st_h">'imagecolorexactalpha'</span><span class="sy0">,</span><span class="st_h">'imagecolormatch'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorresolve'</span><span class="sy0">,</span><span class="st_h">'imagecolorresolvealpha'</span><span class="sy0">,</span><span class="st_h">'imagecolorset'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorsforindex'</span><span class="sy0">,</span><span class="st_h">'imagecolorstotal'</span><span class="sy0">,</span><span class="st_h">'imagecolortransparent'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imageconvolution'</span><span class="sy0">,</span><span class="st_h">'imagecopy'</span><span class="sy0">,</span><span class="st_h">'imagecopymerge'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecopymergegray'</span><span class="sy0">,</span><span class="st_h">'imagecopyresampled'</span><span class="sy0">,</span><span class="st_h">'imagecopyresized'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreate'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgd'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgd2'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecreatefromgd2part'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgif'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromjpeg'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreatefrompng'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromstring'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromwbmp'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecreatefromxbm'</span><span class="sy0">,</span><span class="st_h">'imagecreatetruecolor'</span><span class="sy0">,</span><span class="st_h">'imagedashedline'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagedestroy'</span><span class="sy0">,</span><span class="st_h">'imageellipse'</span><span class="sy0">,</span><span class="st_h">'imagefill'</span><span class="sy0">,</span><span class="st_h">'imagefilledarc'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagefilledellipse'</span><span class="sy0">,</span><span class="st_h">'imagefilledpolygon'</span><span class="sy0">,</span><span class="st_h">'imagefilledrectangle'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagefilltoborder'</span><span class="sy0">,</span><span class="st_h">'imagefilter'</span><span class="sy0">,</span><span class="st_h">'imagefontheight'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagefontwidth'</span><span class="sy0">,</span><span class="st_h">'imageftbbox'</span><span class="sy0">,</span><span class="st_h">'imagefttext'</span><span class="sy0">,</span><span class="st_h">'imagegammacorrect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagegd'</span><span class="sy0">,</span><span class="st_h">'imagegd2'</span><span class="sy0">,</span><span class="st_h">'imagegif'</span><span class="sy0">,</span><span class="st_h">'imagegrabscreen'</span><span class="sy0">,</span><span class="st_h">'imagegrabwindow'</span><span class="sy0">,</span></span></span> <span class="st_h">'imageinterlace'</span><span class="sy0">,</span><span class="st_h">'imageistruecolor'</span><span class="sy0">,</span><span class="st_h">'imagejpeg'</span><span class="sy0">,</span><span class="st_h">'imagelayereffect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imageline'</span><span class="sy0">,</span><span class="st_h">'imageloadfont'</span><span class="sy0">,</span><span class="st_h">'imagepalettecopy'</span><span class="sy0">,</span><span class="st_h">'imagepng'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagepolygon'</span><span class="sy0">,</span><span class="st_h">'imagepsbbox'</span><span class="sy0">,</span><span class="st_h">'imagepsencodefont'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagepsextendfont'</span><span class="sy0">,</span><span class="st_h">'imagepsfreefont'</span><span class="sy0">,</span><span class="st_h">'imagepsloadfont'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagepsslantfont'</span><span class="sy0">,</span><span class="st_h">'imagepstext'</span><span class="sy0">,</span><span class="st_h">'imagerectangle'</span><span class="sy0">,</span><span class="st_h">'imagerotate'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagesavealpha'</span><span class="sy0">,</span><span class="st_h">'imagesetbrush'</span><span class="sy0">,</span><span class="st_h">'imagesetpixel'</span><span class="sy0">,</span><span class="st_h">'imagesetstyle'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagesetthickness'</span><span class="sy0">,</span><span class="st_h">'imagesettile'</span><span class="sy0">,</span><span class="st_h">'imagestring'</span><span class="sy0">,</span><span class="st_h">'imagestringup'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imagesx'</span><span class="sy0">,</span><span class="st_h">'imagesy'</span><span class="sy0">,</span><span class="st_h">'imagetruecolortopalette'</span><span class="sy0">,</span><span class="st_h">'imagettfbbox'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagettftext'</span><span class="sy0">,</span><span class="st_h">'imagetypes'</span><span class="sy0">,</span><span class="st_h">'imagewbmp'</span><span class="sy0">,</span><span class="st_h">'imagexbm'</span><span class="sy0">,</span><span class="st_h">'imap_8bit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_alerts'</span><span class="sy0">,</span><span class="st_h">'imap_append'</span><span class="sy0">,</span><span class="st_h">'imap_base64'</span><span class="sy0">,</span><span class="st_h">'imap_binary'</span><span class="sy0">,</span><span class="st_h">'imap_body'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_bodystruct'</span><span class="sy0">,</span><span class="st_h">'imap_check'</span><span class="sy0">,</span><span class="st_h">'imap_clearflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_create'</span><span class="sy0">,</span><span class="st_h">'imap_createmailbox'</span><span class="sy0">,</span><span class="st_h">'imap_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_deletemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_errors'</span><span class="sy0">,</span><span class="st_h">'imap_expunge'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_fetch_overview'</span><span class="sy0">,</span><span class="st_h">'imap_fetchbody'</span><span class="sy0">,</span><span class="st_h">'imap_fetchheader'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_fetchstructure'</span><span class="sy0">,</span><span class="st_h">'imap_fetchtext'</span><span class="sy0">,</span><span class="st_h">'imap_get_quota'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_get_quotaroot'</span><span class="sy0">,</span><span class="st_h">'imap_getacl'</span><span class="sy0">,</span><span class="st_h">'imap_getmailboxes'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_getsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_header'</span><span class="sy0">,</span><span class="st_h">'imap_headerinfo'</span><span class="sy0">,</span><span class="st_h">'imap_headers'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_last_error'</span><span class="sy0">,</span><span class="st_h">'imap_list'</span><span class="sy0">,</span><span class="st_h">'imap_listmailbox'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_listsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_lsub'</span><span class="sy0">,</span><span class="st_h">'imap_mail'</span><span class="sy0">,</span><span class="st_h">'imap_mail_compose'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_mail_copy'</span><span class="sy0">,</span><span class="st_h">'imap_mail_move'</span><span class="sy0">,</span><span class="st_h">'imap_mailboxmsginfo'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_mime_header_decode'</span><span class="sy0">,</span><span class="st_h">'imap_msgno'</span><span class="sy0">,</span><span class="st_h">'imap_num_msg'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_num_recent'</span><span class="sy0">,</span><span class="st_h">'imap_open'</span><span class="sy0">,</span><span class="st_h">'imap_ping'</span><span class="sy0">,</span><span class="st_h">'imap_qprint'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_rename'</span><span class="sy0">,</span><span class="st_h">'imap_renamemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_reopen'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_rfc822_parse_adrlist'</span><span class="sy0">,</span><span class="st_h">'imap_rfc822_parse_headers'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_rfc822_write_address'</span><span class="sy0">,</span><span class="st_h">'imap_savebody'</span><span class="sy0">,</span><span class="st_h">'imap_scan'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_scanmailbox'</span><span class="sy0">,</span><span class="st_h">'imap_search'</span><span class="sy0">,</span><span class="st_h">'imap_set_quota'</span><span class="sy0">,</span><span class="st_h">'imap_setacl'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_setflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_sort'</span><span class="sy0">,</span><span class="st_h">'imap_status'</span><span class="sy0">,</span><span class="st_h">'imap_subscribe'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_thread'</span><span class="sy0">,</span><span class="st_h">'imap_timeout'</span><span class="sy0">,</span><span class="st_h">'imap_uid'</span><span class="sy0">,</span><span class="st_h">'imap_undelete'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_unsubscribe'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_decode'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_encode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'imap_utf8'</span><span class="sy0">,</span><span class="st_h">'implode'</span><span class="sy0">,</span><span class="st_h">'import_request_variables'</span><span class="sy0">,</span><span class="st_h">'in_array'</span><span class="sy0">,</span></span></span> <span class="st_h">'ini_alter'</span><span class="sy0">,</span><span class="st_h">'ini_get'</span><span class="sy0">,</span><span class="st_h">'ini_get_all'</span><span class="sy0">,</span><span class="st_h">'ini_restore'</span><span class="sy0">,</span><span class="st_h">'ini_set'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'intval'</span><span class="sy0">,</span><span class="st_h">'ip2long'</span><span class="sy0">,</span><span class="st_h">'iptcembed'</span><span class="sy0">,</span><span class="st_h">'iptcparse'</span><span class="sy0">,</span><span class="st_h">'isset'</span><span class="sy0">,</span><span class="st_h">'is_a'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_array'</span><span class="sy0">,</span><span class="st_h">'is_bool'</span><span class="sy0">,</span><span class="st_h">'is_callable'</span><span class="sy0">,</span><span class="st_h">'is_dir'</span><span class="sy0">,</span><span class="st_h">'is_double'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'is_executable'</span><span class="sy0">,</span><span class="st_h">'is_file'</span><span class="sy0">,</span><span class="st_h">'is_finite'</span><span class="sy0">,</span><span class="st_h">'is_float'</span><span class="sy0">,</span><span class="st_h">'is_infinite'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_int'</span><span class="sy0">,</span><span class="st_h">'is_integer'</span><span class="sy0">,</span><span class="st_h">'is_link'</span><span class="sy0">,</span><span class="st_h">'is_long'</span><span class="sy0">,</span><span class="st_h">'is_nan'</span><span class="sy0">,</span><span class="st_h">'is_null'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'is_numeric'</span><span class="sy0">,</span><span class="st_h">'is_object'</span><span class="sy0">,</span><span class="st_h">'is_readable'</span><span class="sy0">,</span><span class="st_h">'is_real'</span><span class="sy0">,</span><span class="st_h">'is_resource'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_scalar'</span><span class="sy0">,</span><span class="st_h">'is_soap_fault'</span><span class="sy0">,</span><span class="st_h">'is_string'</span><span class="sy0">,</span><span class="st_h">'is_subclass_of'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'is_uploaded_file'</span><span class="sy0">,</span><span class="st_h">'is_writable'</span><span class="sy0">,</span><span class="st_h">'is_writeable'</span><span class="sy0">,</span><span class="st_h">'iterator_apply'</span><span class="sy0">,</span></span></span> <span class="st_h">'iterator_count'</span><span class="sy0">,</span><span class="st_h">'iterator_to_array'</span><span class="sy0">,</span><span class="st_h">'java_last_exception_clear'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'java_last_exception_get'</span><span class="sy0">,</span><span class="st_h">'jddayofweek'</span><span class="sy0">,</span><span class="st_h">'jdmonthname'</span><span class="sy0">,</span><span class="st_h">'jdtofrench'</span><span class="sy0">,</span></span></span> <span class="st_h">'jdtogregorian'</span><span class="sy0">,</span><span class="st_h">'jdtojewish'</span><span class="sy0">,</span><span class="st_h">'jdtojulian'</span><span class="sy0">,</span><span class="st_h">'jdtounix'</span><span class="sy0">,</span><span class="st_h">'jewishtojd'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'join'</span><span class="sy0">,</span><span class="st_h">'jpeg2wbmp'</span><span class="sy0">,</span><span class="st_h">'json_decode'</span><span class="sy0">,</span><span class="st_h">'json_encode'</span><span class="sy0">,</span><span class="st_h">'juliantojd'</span><span class="sy0">,</span><span class="st_h">'key'</span><span class="sy0">,</span></span></span> <span class="st_h">'key_exists'</span><span class="sy0">,</span><span class="st_h">'krsort'</span><span class="sy0">,</span><span class="st_h">'ksort'</span><span class="sy0">,</span><span class="st_h">'lcg_value'</span><span class="sy0">,</span><span class="st_h">'ldap_add'</span><span class="sy0">,</span><span class="st_h">'ldap_bind'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_close'</span><span class="sy0">,</span><span class="st_h">'ldap_compare'</span><span class="sy0">,</span><span class="st_h">'ldap_connect'</span><span class="sy0">,</span><span class="st_h">'ldap_count_entries'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_delete'</span><span class="sy0">,</span><span class="st_h">'ldap_dn2ufn'</span><span class="sy0">,</span><span class="st_h">'ldap_err2str'</span><span class="sy0">,</span><span class="st_h">'ldap_errno'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_error'</span><span class="sy0">,</span><span class="st_h">'ldap_explode_dn'</span><span class="sy0">,</span><span class="st_h">'ldap_first_attribute'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_first_entry'</span><span class="sy0">,</span><span class="st_h">'ldap_first_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_free_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_get_attributes'</span><span class="sy0">,</span><span class="st_h">'ldap_get_dn'</span><span class="sy0">,</span><span class="st_h">'ldap_get_entries'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_get_option'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values_len'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_list'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_add'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_del'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_replace'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_modify'</span><span class="sy0">,</span><span class="st_h">'ldap_next_attribute'</span><span class="sy0">,</span><span class="st_h">'ldap_next_entry'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_next_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_parse_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_parse_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_read'</span><span class="sy0">,</span><span class="st_h">'ldap_rename'</span><span class="sy0">,</span><span class="st_h">'ldap_search'</span><span class="sy0">,</span><span class="st_h">'ldap_set_option'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_sort'</span><span class="sy0">,</span><span class="st_h">'ldap_start_tls'</span><span class="sy0">,</span><span class="st_h">'ldap_unbind'</span><span class="sy0">,</span><span class="st_h">'levenshtein'</span><span class="sy0">,</span></span></span> <span class="st_h">'libxml_clear_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_last_error'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'libxml_set_streams_context'</span><span class="sy0">,</span><span class="st_h">'libxml_use_internal_errors'</span><span class="sy0">,</span><span class="st_h">'link'</span><span class="sy0">,</span></span></span> <span class="st_h">'linkinfo'</span><span class="sy0">,</span><span class="st_h">'list'</span><span class="sy0">,</span><span class="st_h">'localeconv'</span><span class="sy0">,</span><span class="st_h">'localtime'</span><span class="sy0">,</span><span class="st_h">'log'</span><span class="sy0">,</span><span class="st_h">'log1p'</span><span class="sy0">,</span><span class="st_h">'log10'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'long2ip'</span><span class="sy0">,</span><span class="st_h">'lstat'</span><span class="sy0">,</span><span class="st_h">'ltrim'</span><span class="sy0">,</span><span class="st_h">'lzf_compress'</span><span class="sy0">,</span><span class="st_h">'lzf_decompress'</span><span class="sy0">,</span></span></span> <span class="st_h">'lzf_optimized_for'</span><span class="sy0">,</span><span class="st_h">'magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'mail'</span><span class="sy0">,</span><span class="st_h">'max'</span><span class="sy0">,</span><span class="st_h">'mbereg'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mberegi'</span><span class="sy0">,</span><span class="st_h">'mberegi_replace'</span><span class="sy0">,</span><span class="st_h">'mbereg_match'</span><span class="sy0">,</span><span class="st_h">'mbereg_replace'</span><span class="sy0">,</span></span></span> <span class="st_h">'mbereg_search'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getpos'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getregs'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mbereg_search_init'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_pos'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_regs'</span><span class="sy0">,</span></span></span> <span class="st_h">'mbereg_search_setpos'</span><span class="sy0">,</span><span class="st_h">'mbregex_encoding'</span><span class="sy0">,</span><span class="st_h">'mbsplit'</span><span class="sy0">,</span><span class="st_h">'mbstrcut'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mbstrlen'</span><span class="sy0">,</span><span class="st_h">'mbstrpos'</span><span class="sy0">,</span><span class="st_h">'mbstrrpos'</span><span class="sy0">,</span><span class="st_h">'mbsubstr'</span><span class="sy0">,</span><span class="st_h">'mb_check_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_convert_case'</span><span class="sy0">,</span><span class="st_h">'mb_convert_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_convert_kana'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_convert_variables'</span><span class="sy0">,</span><span class="st_h">'mb_decode_mimeheader'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_decode_numericentity'</span><span class="sy0">,</span><span class="st_h">'mb_detect_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_detect_order'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_encode_mimeheader'</span><span class="sy0">,</span><span class="st_h">'mb_encode_numericentity'</span><span class="sy0">,</span><span class="st_h">'mb_ereg'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_eregi'</span><span class="sy0">,</span><span class="st_h">'mb_eregi_replace'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_match'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_replace'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_ereg_search'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_getpos'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_getregs'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_ereg_search_init'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_pos'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_regs'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_ereg_search_setpos'</span><span class="sy0">,</span><span class="st_h">'mb_get_info'</span><span class="sy0">,</span><span class="st_h">'mb_http_input'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_http_output'</span><span class="sy0">,</span><span class="st_h">'mb_internal_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_language'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_list_encodings'</span><span class="sy0">,</span><span class="st_h">'mb_output_handler'</span><span class="sy0">,</span><span class="st_h">'mb_parse_str'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_preferred_mime_name'</span><span class="sy0">,</span><span class="st_h">'mb_regex_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_regex_set_options'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_send_mail'</span><span class="sy0">,</span><span class="st_h">'mb_split'</span><span class="sy0">,</span><span class="st_h">'mb_strcut'</span><span class="sy0">,</span><span class="st_h">'mb_strimwidth'</span><span class="sy0">,</span><span class="st_h">'mb_stripos'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_stristr'</span><span class="sy0">,</span><span class="st_h">'mb_strlen'</span><span class="sy0">,</span><span class="st_h">'mb_strpos'</span><span class="sy0">,</span><span class="st_h">'mb_strrchr'</span><span class="sy0">,</span><span class="st_h">'mb_strrichr'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_strripos'</span><span class="sy0">,</span><span class="st_h">'mb_strrpos'</span><span class="sy0">,</span><span class="st_h">'mb_strstr'</span><span class="sy0">,</span><span class="st_h">'mb_strtolower'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_strtoupper'</span><span class="sy0">,</span><span class="st_h">'mb_strwidth'</span><span class="sy0">,</span><span class="st_h">'mb_substitute_character'</span><span class="sy0">,</span><span class="st_h">'mb_substr'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mb_substr_count'</span><span class="sy0">,</span><span class="st_h">'mcrypt_cbc'</span><span class="sy0">,</span><span class="st_h">'mcrypt_cfb'</span><span class="sy0">,</span><span class="st_h">'mcrypt_create_iv'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_decrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_ecb'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_algorithms_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_iv_size'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_get_key_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_modes_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_get_supported_key_sizes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_is_block_algorithm'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_is_block_algorithm_mode'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_is_block_mode'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_self_test'</span><span class="sy0">,</span><span class="st_h">'mcrypt_encrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_generic_deinit'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic_end'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_get_cipher_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_get_iv_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_get_key_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_list_algorithms'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_list_modes'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_get_algo_block_size'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_get_algo_key_size'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_get_supported_key_sizes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_is_block_algorithm'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_is_block_algorithm_mode'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_is_block_mode'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_open'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_self_test'</span><span class="sy0">,</span><span class="st_h">'mcrypt_ofb'</span><span class="sy0">,</span><span class="st_h">'md5'</span><span class="sy0">,</span><span class="st_h">'md5_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'mdecrypt_generic'</span><span class="sy0">,</span><span class="st_h">'memcache_add'</span><span class="sy0">,</span><span class="st_h">'memcache_add_server'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_close'</span><span class="sy0">,</span><span class="st_h">'memcache_connect'</span><span class="sy0">,</span><span class="st_h">'memcache_debug'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_decrement'</span><span class="sy0">,</span><span class="st_h">'memcache_delete'</span><span class="sy0">,</span><span class="st_h">'memcache_flush'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_get'</span><span class="sy0">,</span><span class="st_h">'memcache_get_extended_stats'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_get_server_status'</span><span class="sy0">,</span><span class="st_h">'memcache_get_stats'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_get_version'</span><span class="sy0">,</span><span class="st_h">'memcache_increment'</span><span class="sy0">,</span><span class="st_h">'memcache_pconnect'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_replace'</span><span class="sy0">,</span><span class="st_h">'memcache_set'</span><span class="sy0">,</span><span class="st_h">'memcache_set_compress_threshold'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_set_server_params'</span><span class="sy0">,</span><span class="st_h">'memory_get_peak_usage'</span><span class="sy0">,</span></span></span> <span class="st_h">'memory_get_usage'</span><span class="sy0">,</span><span class="st_h">'metaphone'</span><span class="sy0">,</span><span class="st_h">'mhash'</span><span class="sy0">,</span><span class="st_h">'mhash_count'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mhash_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mhash_get_hash_name'</span><span class="sy0">,</span><span class="st_h">'mhash_keygen_s2k'</span><span class="sy0">,</span></span></span> <span class="st_h">'method_exists'</span><span class="sy0">,</span><span class="st_h">'microtime'</span><span class="sy0">,</span><span class="st_h">'mime_content_type'</span><span class="sy0">,</span><span class="st_h">'min'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ming_keypress'</span><span class="sy0">,</span><span class="st_h">'ming_setcubicthreshold'</span><span class="sy0">,</span><span class="st_h">'ming_setscale'</span><span class="sy0">,</span></span></span> <span class="st_h">'ming_useconstants'</span><span class="sy0">,</span><span class="st_h">'ming_useswfversion'</span><span class="sy0">,</span><span class="st_h">'mkdir'</span><span class="sy0">,</span><span class="st_h">'mktime'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'money_format'</span><span class="sy0">,</span><span class="st_h">'move_uploaded_file'</span><span class="sy0">,</span><span class="st_h">'msql'</span><span class="sy0">,</span><span class="st_h">'msql_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_close'</span><span class="sy0">,</span><span class="st_h">'msql_connect'</span><span class="sy0">,</span><span class="st_h">'msql_create_db'</span><span class="sy0">,</span><span class="st_h">'msql_createdb'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_data_seek'</span><span class="sy0">,</span><span class="st_h">'msql_db_query'</span><span class="sy0">,</span><span class="st_h">'msql_dbname'</span><span class="sy0">,</span><span class="st_h">'msql_drop_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_dropdb'</span><span class="sy0">,</span><span class="st_h">'msql_error'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_field'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_fetch_object'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_row'</span><span class="sy0">,</span><span class="st_h">'msql_field_flags'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_field_len'</span><span class="sy0">,</span><span class="st_h">'msql_field_name'</span><span class="sy0">,</span><span class="st_h">'msql_field_seek'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_field_table'</span><span class="sy0">,</span><span class="st_h">'msql_field_type'</span><span class="sy0">,</span><span class="st_h">'msql_fieldflags'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_fieldlen'</span><span class="sy0">,</span><span class="st_h">'msql_fieldname'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtype'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_free_result'</span><span class="sy0">,</span><span class="st_h">'msql_freeresult'</span><span class="sy0">,</span><span class="st_h">'msql_list_dbs'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_list_fields'</span><span class="sy0">,</span><span class="st_h">'msql_list_tables'</span><span class="sy0">,</span><span class="st_h">'msql_listdbs'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_listfields'</span><span class="sy0">,</span><span class="st_h">'msql_listtables'</span><span class="sy0">,</span><span class="st_h">'msql_num_fields'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_num_rows'</span><span class="sy0">,</span><span class="st_h">'msql_numfields'</span><span class="sy0">,</span><span class="st_h">'msql_numrows'</span><span class="sy0">,</span><span class="st_h">'msql_pconnect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'msql_query'</span><span class="sy0">,</span><span class="st_h">'msql_regcase'</span><span class="sy0">,</span><span class="st_h">'msql_result'</span><span class="sy0">,</span><span class="st_h">'msql_select_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_selectdb'</span><span class="sy0">,</span><span class="st_h">'msql_tablename'</span><span class="sy0">,</span><span class="st_h">'mssql_bind'</span><span class="sy0">,</span><span class="st_h">'mssql_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_connect'</span><span class="sy0">,</span><span class="st_h">'mssql_data_seek'</span><span class="sy0">,</span><span class="st_h">'mssql_execute'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_batch'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_fetch_field'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_object'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_field_length'</span><span class="sy0">,</span><span class="st_h">'mssql_field_name'</span><span class="sy0">,</span><span class="st_h">'mssql_field_seek'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_field_type'</span><span class="sy0">,</span><span class="st_h">'mssql_free_result'</span><span class="sy0">,</span><span class="st_h">'mssql_free_statement'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_get_last_message'</span><span class="sy0">,</span><span class="st_h">'mssql_guid_string'</span><span class="sy0">,</span><span class="st_h">'mssql_init'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_min_error_severity'</span><span class="sy0">,</span><span class="st_h">'mssql_min_message_severity'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_next_result'</span><span class="sy0">,</span><span class="st_h">'mssql_num_fields'</span><span class="sy0">,</span><span class="st_h">'mssql_num_rows'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_pconnect'</span><span class="sy0">,</span><span class="st_h">'mssql_query'</span><span class="sy0">,</span><span class="st_h">'mssql_result'</span><span class="sy0">,</span><span class="st_h">'mssql_rows_affected'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_select_db'</span><span class="sy0">,</span><span class="st_h">'mt_getrandmax'</span><span class="sy0">,</span><span class="st_h">'mt_rand'</span><span class="sy0">,</span><span class="st_h">'mt_srand'</span><span class="sy0">,</span><span class="st_h">'mysql'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_affected_rows'</span><span class="sy0">,</span><span class="st_h">'mysql_client_encoding'</span><span class="sy0">,</span><span class="st_h">'mysql_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_connect'</span><span class="sy0">,</span><span class="st_h">'mysql_createdb'</span><span class="sy0">,</span><span class="st_h">'mysql_create_db'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysql_dbname'</span><span class="sy0">,</span><span class="st_h">'mysql_db_name'</span><span class="sy0">,</span><span class="st_h">'mysql_db_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_dropdb'</span><span class="sy0">,</span><span class="st_h">'mysql_drop_db'</span><span class="sy0">,</span><span class="st_h">'mysql_errno'</span><span class="sy0">,</span><span class="st_h">'mysql_error'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_fetch_field'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_lengths'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_object'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_fetch_row'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldflags'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldlen'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_fieldname'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtype'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_field_flags'</span><span class="sy0">,</span><span class="st_h">'mysql_field_len'</span><span class="sy0">,</span><span class="st_h">'mysql_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysql_field_table'</span><span class="sy0">,</span><span class="st_h">'mysql_field_type'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_freeresult'</span><span class="sy0">,</span><span class="st_h">'mysql_free_result'</span><span class="sy0">,</span><span class="st_h">'mysql_get_client_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_get_host_info'</span><span class="sy0">,</span><span class="st_h">'mysql_get_proto_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_get_server_info'</span><span class="sy0">,</span><span class="st_h">'mysql_info'</span><span class="sy0">,</span><span class="st_h">'mysql_insert_id'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_listdbs'</span><span class="sy0">,</span><span class="st_h">'mysql_listfields'</span><span class="sy0">,</span><span class="st_h">'mysql_listtables'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_list_dbs'</span><span class="sy0">,</span><span class="st_h">'mysql_list_fields'</span><span class="sy0">,</span><span class="st_h">'mysql_list_processes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_list_tables'</span><span class="sy0">,</span><span class="st_h">'mysql_numfields'</span><span class="sy0">,</span><span class="st_h">'mysql_numrows'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_num_fields'</span><span class="sy0">,</span><span class="st_h">'mysql_num_rows'</span><span class="sy0">,</span><span class="st_h">'mysql_pconnect'</span><span class="sy0">,</span><span class="st_h">'mysql_ping'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_query'</span><span class="sy0">,</span><span class="st_h">'mysql_real_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysql_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_selectdb'</span><span class="sy0">,</span><span class="st_h">'mysql_select_db'</span><span class="sy0">,</span><span class="st_h">'mysql_set_charset'</span><span class="sy0">,</span><span class="st_h">'mysql_stat'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_tablename'</span><span class="sy0">,</span><span class="st_h">'mysql_table_name'</span><span class="sy0">,</span><span class="st_h">'mysql_thread_id'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_unbuffered_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_affected_rows'</span><span class="sy0">,</span><span class="st_h">'mysqli_autocommit'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_bind_param'</span><span class="sy0">,</span><span class="st_h">'mysqli_bind_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_change_user'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_character_set_name'</span><span class="sy0">,</span><span class="st_h">'mysqli_client_encoding'</span><span class="sy0">,</span><span class="st_h">'mysqli_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_commit'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect_errno'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_connect_error'</span><span class="sy0">,</span><span class="st_h">'mysqli_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_debug'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_disable_reads_from_master'</span><span class="sy0">,</span><span class="st_h">'mysqli_disable_rpl_parse'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_dump_debug_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_embedded_server_end'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_embedded_server_start'</span><span class="sy0">,</span><span class="st_h">'mysqli_enable_reads_from_master'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_enable_rpl_parse'</span><span class="sy0">,</span><span class="st_h">'mysqli_errno'</span><span class="sy0">,</span><span class="st_h">'mysqli_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysqli_execute'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_field'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_fetch_field_direct'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_fields'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_fetch_lengths'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_object'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_tell'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_free_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_charset'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_client_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_get_client_version'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_host_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_metadata'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_proto_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_get_server_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_server_version'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_warnings'</span><span class="sy0">,</span><span class="st_h">'mysqli_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_kill'</span><span class="sy0">,</span><span class="st_h">'mysqli_master_query'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_more_results'</span><span class="sy0">,</span><span class="st_h">'mysqli_multi_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_next_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_num_fields'</span><span class="sy0">,</span><span class="st_h">'mysqli_num_rows'</span><span class="sy0">,</span><span class="st_h">'mysqli_options'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_param_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_ping'</span><span class="sy0">,</span><span class="st_h">'mysqli_prepare'</span><span class="sy0">,</span><span class="st_h">'mysqli_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_real_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_real_escape_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_real_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_report'</span><span class="sy0">,</span><span class="st_h">'mysqli_rollback'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_rpl_parse_enabled'</span><span class="sy0">,</span><span class="st_h">'mysqli_rpl_probe'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_rpl_query_type'</span><span class="sy0">,</span><span class="st_h">'mysqli_select_db'</span><span class="sy0">,</span><span class="st_h">'mysqli_send_long_data'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_send_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_charset'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_set_local_infile_default'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_local_infile_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_set_opt'</span><span class="sy0">,</span><span class="st_h">'mysqli_slave_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_sqlstate'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_ssl_set'</span><span class="sy0">,</span><span class="st_h">'mysqli_stat'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_attr_get'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_attr_set'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_bind_param'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_bind_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_close'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_errno'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_error'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_execute'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_fetch'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_free_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_get_warnings'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_num_rows'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_param_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_prepare'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_reset'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_result_metadata'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_send_long_data'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_sqlstate'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_store_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_store_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_safe'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_use_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_warning_count'</span><span class="sy0">,</span><span class="st_h">'natcasesort'</span><span class="sy0">,</span><span class="st_h">'natsort'</span><span class="sy0">,</span></span></span> <span class="st_h">'new_xmldoc'</span><span class="sy0">,</span><span class="st_h">'next'</span><span class="sy0">,</span><span class="st_h">'ngettext'</span><span class="sy0">,</span><span class="st_h">'nl2br'</span><span class="sy0">,</span><span class="st_h">'nl_langinfo'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ntuser_getdomaincontroller'</span><span class="sy0">,</span><span class="st_h">'ntuser_getusergroups'</span><span class="sy0">,</span></span></span> <span class="st_h">'ntuser_getuserinfo'</span><span class="sy0">,</span><span class="st_h">'ntuser_getuserlist'</span><span class="sy0">,</span><span class="st_h">'number_format'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ob_clean'</span><span class="sy0">,</span><span class="st_h">'ob_deflatehandler'</span><span class="sy0">,</span><span class="st_h">'ob_end_clean'</span><span class="sy0">,</span><span class="st_h">'ob_end_flush'</span><span class="sy0">,</span></span></span> <span class="st_h">'ob_etaghandler'</span><span class="sy0">,</span><span class="st_h">'ob_flush'</span><span class="sy0">,</span><span class="st_h">'ob_get_clean'</span><span class="sy0">,</span><span class="st_h">'ob_get_contents'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ob_get_flush'</span><span class="sy0">,</span><span class="st_h">'ob_get_length'</span><span class="sy0">,</span><span class="st_h">'ob_get_level'</span><span class="sy0">,</span><span class="st_h">'ob_get_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'ob_gzhandler'</span><span class="sy0">,</span><span class="st_h">'ob_iconv_handler'</span><span class="sy0">,</span><span class="st_h">'ob_implicit_flush'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ob_inflatehandler'</span><span class="sy0">,</span><span class="st_h">'ob_list_handlers'</span><span class="sy0">,</span><span class="st_h">'ob_start'</span><span class="sy0">,</span><span class="st_h">'ob_tidyhandler'</span><span class="sy0">,</span></span></span> <span class="st_h">'octdec'</span><span class="sy0">,</span><span class="st_h">'odbc_autocommit'</span><span class="sy0">,</span><span class="st_h">'odbc_binmode'</span><span class="sy0">,</span><span class="st_h">'odbc_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_close_all'</span><span class="sy0">,</span><span class="st_h">'odbc_columnprivileges'</span><span class="sy0">,</span><span class="st_h">'odbc_columns'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_commit'</span><span class="sy0">,</span><span class="st_h">'odbc_connect'</span><span class="sy0">,</span><span class="st_h">'odbc_cursor'</span><span class="sy0">,</span><span class="st_h">'odbc_data_source'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_do'</span><span class="sy0">,</span><span class="st_h">'odbc_error'</span><span class="sy0">,</span><span class="st_h">'odbc_errormsg'</span><span class="sy0">,</span><span class="st_h">'odbc_exec'</span><span class="sy0">,</span><span class="st_h">'odbc_execute'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_fetch_array'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_into'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_object'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_fetch_row'</span><span class="sy0">,</span><span class="st_h">'odbc_field_len'</span><span class="sy0">,</span><span class="st_h">'odbc_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_field_num'</span><span class="sy0">,</span><span class="st_h">'odbc_field_precision'</span><span class="sy0">,</span><span class="st_h">'odbc_field_scale'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_field_type'</span><span class="sy0">,</span><span class="st_h">'odbc_foreignkeys'</span><span class="sy0">,</span><span class="st_h">'odbc_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_gettypeinfo'</span><span class="sy0">,</span><span class="st_h">'odbc_longreadlen'</span><span class="sy0">,</span><span class="st_h">'odbc_next_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_num_fields'</span><span class="sy0">,</span><span class="st_h">'odbc_num_rows'</span><span class="sy0">,</span><span class="st_h">'odbc_pconnect'</span><span class="sy0">,</span><span class="st_h">'odbc_prepare'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_primarykeys'</span><span class="sy0">,</span><span class="st_h">'odbc_procedurecolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_procedures'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_result'</span><span class="sy0">,</span><span class="st_h">'odbc_result_all'</span><span class="sy0">,</span><span class="st_h">'odbc_rollback'</span><span class="sy0">,</span><span class="st_h">'odbc_setoption'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_specialcolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_statistics'</span><span class="sy0">,</span><span class="st_h">'odbc_tableprivileges'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_tables'</span><span class="sy0">,</span><span class="st_h">'opendir'</span><span class="sy0">,</span><span class="st_h">'openlog'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_csr_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_get_public_key'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_csr_get_subject'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_new'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_sign'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_error_string'</span><span class="sy0">,</span><span class="st_h">'openssl_free_key'</span><span class="sy0">,</span><span class="st_h">'openssl_get_privatekey'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_get_publickey'</span><span class="sy0">,</span><span class="st_h">'openssl_open'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs12_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkcs12_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs12_read'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkcs7_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_encrypt'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkcs7_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_export'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkey_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_free'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkey_get_details'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_get_private'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkey_get_public'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_new'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_private_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_private_encrypt'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_public_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_public_encrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_seal'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_checkpurpose'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_x509_check_private_key'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_x509_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_free'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_x509_parse'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_read'</span><span class="sy0">,</span><span class="st_h">'ord'</span><span class="sy0">,</span></span></span> <span class="st_h">'output_add_rewrite_var'</span><span class="sy0">,</span><span class="st_h">'output_reset_rewrite_vars'</span><span class="sy0">,</span><span class="st_h">'overload'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'outputdebugstring'</span><span class="sy0">,</span><span class="st_h">'pack'</span><span class="sy0">,</span><span class="st_h">'parse_ini_file'</span><span class="sy0">,</span><span class="st_h">'parse_str'</span><span class="sy0">,</span><span class="st_h">'parse_url'</span><span class="sy0">,</span></span></span> <span class="st_h">'parsekit_compile_file'</span><span class="sy0">,</span><span class="st_h">'parsekit_compile_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'parsekit_func_arginfo'</span><span class="sy0">,</span><span class="st_h">'parsekit_opcode_flags'</span><span class="sy0">,</span></span></span> <span class="st_h">'parsekit_opcode_name'</span><span class="sy0">,</span><span class="st_h">'passthru'</span><span class="sy0">,</span><span class="st_h">'pathinfo'</span><span class="sy0">,</span><span class="st_h">'pclose'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_add_bookmark'</span><span class="sy0">,</span><span class="st_h">'pdf_add_launchlink'</span><span class="sy0">,</span><span class="st_h">'pdf_add_locallink'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_add_nameddest'</span><span class="sy0">,</span><span class="st_h">'pdf_add_note'</span><span class="sy0">,</span><span class="st_h">'pdf_add_pdflink'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_add_thumbnail'</span><span class="sy0">,</span><span class="st_h">'pdf_add_weblink'</span><span class="sy0">,</span><span class="st_h">'pdf_arc'</span><span class="sy0">,</span><span class="st_h">'pdf_arcn'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_attach_file'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_font'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_glyph'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_begin_page'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_pattern'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_template'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_circle'</span><span class="sy0">,</span><span class="st_h">'pdf_clip'</span><span class="sy0">,</span><span class="st_h">'pdf_close'</span><span class="sy0">,</span><span class="st_h">'pdf_close_image'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_close_pdi'</span><span class="sy0">,</span><span class="st_h">'pdf_close_pdi_page'</span><span class="sy0">,</span><span class="st_h">'pdf_closepath'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_closepath_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_closepath_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_concat'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_continue_text'</span><span class="sy0">,</span><span class="st_h">'pdf_create_gstate'</span><span class="sy0">,</span><span class="st_h">'pdf_create_pvf'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_curveto'</span><span class="sy0">,</span><span class="st_h">'pdf_delete'</span><span class="sy0">,</span><span class="st_h">'pdf_delete_pvf'</span><span class="sy0">,</span><span class="st_h">'pdf_encoding_set_char'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_end_font'</span><span class="sy0">,</span><span class="st_h">'pdf_end_glyph'</span><span class="sy0">,</span><span class="st_h">'pdf_end_page'</span><span class="sy0">,</span><span class="st_h">'pdf_end_pattern'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_end_template'</span><span class="sy0">,</span><span class="st_h">'pdf_endpath'</span><span class="sy0">,</span><span class="st_h">'pdf_fill'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_imageblock'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_fill_pdfblock'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_textblock'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_findfont'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_image'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_pdi_page'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_fit_textline'</span><span class="sy0">,</span><span class="st_h">'pdf_get_apiname'</span><span class="sy0">,</span><span class="st_h">'pdf_get_buffer'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_get_errmsg'</span><span class="sy0">,</span><span class="st_h">'pdf_get_errnum'</span><span class="sy0">,</span><span class="st_h">'pdf_get_parameter'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_get_pdi_parameter'</span><span class="sy0">,</span><span class="st_h">'pdf_get_pdi_value'</span><span class="sy0">,</span><span class="st_h">'pdf_get_value'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_initgraphics'</span><span class="sy0">,</span><span class="st_h">'pdf_lineto'</span><span class="sy0">,</span><span class="st_h">'pdf_load_font'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_load_iccprofile'</span><span class="sy0">,</span><span class="st_h">'pdf_load_image'</span><span class="sy0">,</span><span class="st_h">'pdf_makespotcolor'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_moveto'</span><span class="sy0">,</span><span class="st_h">'pdf_new'</span><span class="sy0">,</span><span class="st_h">'pdf_open_ccitt'</span><span class="sy0">,</span><span class="st_h">'pdf_open_file'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_open_image'</span><span class="sy0">,</span><span class="st_h">'pdf_open_image_file'</span><span class="sy0">,</span><span class="st_h">'pdf_open_pdi'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_open_pdi_page'</span><span class="sy0">,</span><span class="st_h">'pdf_place_image'</span><span class="sy0">,</span><span class="st_h">'pdf_place_pdi_page'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_process_pdi'</span><span class="sy0">,</span><span class="st_h">'pdf_rect'</span><span class="sy0">,</span><span class="st_h">'pdf_restore'</span><span class="sy0">,</span><span class="st_h">'pdf_rotate'</span><span class="sy0">,</span><span class="st_h">'pdf_save'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_scale'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_color'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_dash'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_set_border_style'</span><span class="sy0">,</span><span class="st_h">'pdf_set_gstate'</span><span class="sy0">,</span><span class="st_h">'pdf_set_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_set_parameter'</span><span class="sy0">,</span><span class="st_h">'pdf_set_text_pos'</span><span class="sy0">,</span><span class="st_h">'pdf_set_value'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_setcolor'</span><span class="sy0">,</span><span class="st_h">'pdf_setdash'</span><span class="sy0">,</span><span class="st_h">'pdf_setdashpattern'</span><span class="sy0">,</span><span class="st_h">'pdf_setflat'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_setfont'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinecap'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinejoin'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinewidth'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_setmatrix'</span><span class="sy0">,</span><span class="st_h">'pdf_setmiterlimit'</span><span class="sy0">,</span><span class="st_h">'pdf_setpolydash'</span><span class="sy0">,</span><span class="st_h">'pdf_shading'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_shading_pattern'</span><span class="sy0">,</span><span class="st_h">'pdf_shfill'</span><span class="sy0">,</span><span class="st_h">'pdf_show'</span><span class="sy0">,</span><span class="st_h">'pdf_show_boxed'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_show_xy'</span><span class="sy0">,</span><span class="st_h">'pdf_skew'</span><span class="sy0">,</span><span class="st_h">'pdf_stringwidth'</span><span class="sy0">,</span><span class="st_h">'pdf_stroke'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_translate'</span><span class="sy0">,</span><span class="st_h">'pdo_drivers'</span><span class="sy0">,</span><span class="st_h">'pfsockopen'</span><span class="sy0">,</span><span class="st_h">'pg_affected_rows'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_cancel_query'</span><span class="sy0">,</span><span class="st_h">'pg_clientencoding'</span><span class="sy0">,</span><span class="st_h">'pg_client_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_close'</span><span class="sy0">,</span><span class="st_h">'pg_cmdtuples'</span><span class="sy0">,</span><span class="st_h">'pg_connect'</span><span class="sy0">,</span><span class="st_h">'pg_connection_busy'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_connection_reset'</span><span class="sy0">,</span><span class="st_h">'pg_connection_status'</span><span class="sy0">,</span><span class="st_h">'pg_convert'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_copy_from'</span><span class="sy0">,</span><span class="st_h">'pg_copy_to'</span><span class="sy0">,</span><span class="st_h">'pg_dbname'</span><span class="sy0">,</span><span class="st_h">'pg_delete'</span><span class="sy0">,</span><span class="st_h">'pg_end_copy'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_errormessage'</span><span class="sy0">,</span><span class="st_h">'pg_escape_bytea'</span><span class="sy0">,</span><span class="st_h">'pg_escape_string'</span><span class="sy0">,</span><span class="st_h">'pg_exec'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_execute'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all_columns'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_array'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_object'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_result'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_fieldisnull'</span><span class="sy0">,</span><span class="st_h">'pg_fieldname'</span><span class="sy0">,</span><span class="st_h">'pg_fieldnum'</span><span class="sy0">,</span><span class="st_h">'pg_fieldprtlen'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_fieldsize'</span><span class="sy0">,</span><span class="st_h">'pg_fieldtype'</span><span class="sy0">,</span><span class="st_h">'pg_field_is_null'</span><span class="sy0">,</span><span class="st_h">'pg_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_field_num'</span><span class="sy0">,</span><span class="st_h">'pg_field_prtlen'</span><span class="sy0">,</span><span class="st_h">'pg_field_size'</span><span class="sy0">,</span><span class="st_h">'pg_field_table'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_field_type'</span><span class="sy0">,</span><span class="st_h">'pg_field_type_oid'</span><span class="sy0">,</span><span class="st_h">'pg_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_freeresult'</span><span class="sy0">,</span><span class="st_h">'pg_get_notify'</span><span class="sy0">,</span><span class="st_h">'pg_get_pid'</span><span class="sy0">,</span><span class="st_h">'pg_get_result'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_getlastoid'</span><span class="sy0">,</span><span class="st_h">'pg_host'</span><span class="sy0">,</span><span class="st_h">'pg_insert'</span><span class="sy0">,</span><span class="st_h">'pg_last_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_last_notice'</span><span class="sy0">,</span><span class="st_h">'pg_last_oid'</span><span class="sy0">,</span><span class="st_h">'pg_loclose'</span><span class="sy0">,</span><span class="st_h">'pg_locreate'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_loexport'</span><span class="sy0">,</span><span class="st_h">'pg_loimport'</span><span class="sy0">,</span><span class="st_h">'pg_loopen'</span><span class="sy0">,</span><span class="st_h">'pg_loread'</span><span class="sy0">,</span><span class="st_h">'pg_loreadall'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_lounlink'</span><span class="sy0">,</span><span class="st_h">'pg_lowrite'</span><span class="sy0">,</span><span class="st_h">'pg_lo_close'</span><span class="sy0">,</span><span class="st_h">'pg_lo_create'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lo_export'</span><span class="sy0">,</span><span class="st_h">'pg_lo_import'</span><span class="sy0">,</span><span class="st_h">'pg_lo_open'</span><span class="sy0">,</span><span class="st_h">'pg_lo_read'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_lo_read_all'</span><span class="sy0">,</span><span class="st_h">'pg_lo_seek'</span><span class="sy0">,</span><span class="st_h">'pg_lo_tell'</span><span class="sy0">,</span><span class="st_h">'pg_lo_unlink'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lo_write'</span><span class="sy0">,</span><span class="st_h">'pg_meta_data'</span><span class="sy0">,</span><span class="st_h">'pg_numfields'</span><span class="sy0">,</span><span class="st_h">'pg_numrows'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_num_fields'</span><span class="sy0">,</span><span class="st_h">'pg_num_rows'</span><span class="sy0">,</span><span class="st_h">'pg_options'</span><span class="sy0">,</span><span class="st_h">'pg_parameter_status'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_pconnect'</span><span class="sy0">,</span><span class="st_h">'pg_ping'</span><span class="sy0">,</span><span class="st_h">'pg_port'</span><span class="sy0">,</span><span class="st_h">'pg_prepare'</span><span class="sy0">,</span><span class="st_h">'pg_put_line'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_query'</span><span class="sy0">,</span><span class="st_h">'pg_query_params'</span><span class="sy0">,</span><span class="st_h">'pg_result'</span><span class="sy0">,</span><span class="st_h">'pg_result_error'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_result_error_field'</span><span class="sy0">,</span><span class="st_h">'pg_result_seek'</span><span class="sy0">,</span><span class="st_h">'pg_result_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_select'</span><span class="sy0">,</span><span class="st_h">'pg_send_execute'</span><span class="sy0">,</span><span class="st_h">'pg_send_prepare'</span><span class="sy0">,</span><span class="st_h">'pg_send_query'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_send_query_params'</span><span class="sy0">,</span><span class="st_h">'pg_set_client_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_set_error_verbosity'</span><span class="sy0">,</span><span class="st_h">'pg_setclientencoding'</span><span class="sy0">,</span><span class="st_h">'pg_trace'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pg_transaction_status'</span><span class="sy0">,</span><span class="st_h">'pg_tty'</span><span class="sy0">,</span><span class="st_h">'pg_unescape_bytea'</span><span class="sy0">,</span><span class="st_h">'pg_untrace'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_update'</span><span class="sy0">,</span><span class="st_h">'pg_version'</span><span class="sy0">,</span><span class="st_h">'php_egg_logo_guid'</span><span class="sy0">,</span><span class="st_h">'php_ini_loaded_file'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'php_ini_scanned_files'</span><span class="sy0">,</span><span class="st_h">'php_logo_guid'</span><span class="sy0">,</span><span class="st_h">'php_real_logo_guid'</span><span class="sy0">,</span></span></span> <span class="st_h">'php_sapi_name'</span><span class="sy0">,</span><span class="st_h">'php_strip_whitespace'</span><span class="sy0">,</span><span class="st_h">'php_uname'</span><span class="sy0">,</span><span class="st_h">'phpcredits'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'phpdoc_xml_from_string'</span><span class="sy0">,</span><span class="st_h">'phpinfo'</span><span class="sy0">,</span><span class="st_h">'phpversion'</span><span class="sy0">,</span><span class="st_h">'pi'</span><span class="sy0">,</span><span class="st_h">'png2wbmp'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_close'</span><span class="sy0">,</span><span class="st_h">'pop3_delete_message'</span><span class="sy0">,</span><span class="st_h">'pop3_get_account_size'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_get_message'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_count'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_get_message_header'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_ids'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_get_message_size'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_sizes'</span><span class="sy0">,</span><span class="st_h">'pop3_open'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_undelete'</span><span class="sy0">,</span><span class="st_h">'popen'</span><span class="sy0">,</span><span class="st_h">'pos'</span><span class="sy0">,</span><span class="st_h">'posix_ctermid'</span><span class="sy0">,</span><span class="st_h">'posix_errno'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getcwd'</span><span class="sy0">,</span><span class="st_h">'posix_getegid'</span><span class="sy0">,</span><span class="st_h">'posix_geteuid'</span><span class="sy0">,</span><span class="st_h">'posix_getgid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_getgrgid'</span><span class="sy0">,</span><span class="st_h">'posix_getgrnam'</span><span class="sy0">,</span><span class="st_h">'posix_getgroups'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getlogin'</span><span class="sy0">,</span><span class="st_h">'posix_getpgid'</span><span class="sy0">,</span><span class="st_h">'posix_getpgrp'</span><span class="sy0">,</span><span class="st_h">'posix_getpid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_getppid'</span><span class="sy0">,</span><span class="st_h">'posix_getpwnam'</span><span class="sy0">,</span><span class="st_h">'posix_getpwuid'</span><span class="sy0">,</span><span class="st_h">'posix_getrlimit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getsid'</span><span class="sy0">,</span><span class="st_h">'posix_getuid'</span><span class="sy0">,</span><span class="st_h">'posix_get_last_error'</span><span class="sy0">,</span><span class="st_h">'posix_isatty'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_kill'</span><span class="sy0">,</span><span class="st_h">'posix_mkfifo'</span><span class="sy0">,</span><span class="st_h">'posix_setegid'</span><span class="sy0">,</span><span class="st_h">'posix_seteuid'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'posix_setgid'</span><span class="sy0">,</span><span class="st_h">'posix_setpgid'</span><span class="sy0">,</span><span class="st_h">'posix_setsid'</span><span class="sy0">,</span><span class="st_h">'posix_setuid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_strerror'</span><span class="sy0">,</span><span class="st_h">'posix_times'</span><span class="sy0">,</span><span class="st_h">'posix_ttyname'</span><span class="sy0">,</span><span class="st_h">'posix_uname'</span><span class="sy0">,</span><span class="st_h">'pow'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'preg_grep'</span><span class="sy0">,</span><span class="st_h">'preg_last_error'</span><span class="sy0">,</span><span class="st_h">'preg_match'</span><span class="sy0">,</span><span class="st_h">'preg_match_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'preg_quote'</span><span class="sy0">,</span><span class="st_h">'preg_replace'</span><span class="sy0">,</span><span class="st_h">'preg_replace_callback'</span><span class="sy0">,</span><span class="st_h">'preg_split'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'prev'</span><span class="sy0">,</span><span class="st_h">'print_r'</span><span class="sy0">,</span><span class="st_h">'printf'</span><span class="sy0">,</span><span class="st_h">'proc_close'</span><span class="sy0">,</span><span class="st_h">'proc_get_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'proc_open'</span><span class="sy0">,</span><span class="st_h">'proc_terminate'</span><span class="sy0">,</span><span class="st_h">'putenv'</span><span class="sy0">,</span><span class="st_h">'quoted_printable_decode'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'quotemeta'</span><span class="sy0">,</span><span class="st_h">'rad2deg'</span><span class="sy0">,</span><span class="st_h">'radius_acct_open'</span><span class="sy0">,</span><span class="st_h">'radius_add_server'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_auth_open'</span><span class="sy0">,</span><span class="st_h">'radius_close'</span><span class="sy0">,</span><span class="st_h">'radius_config'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'radius_create_request'</span><span class="sy0">,</span><span class="st_h">'radius_cvt_addr'</span><span class="sy0">,</span><span class="st_h">'radius_cvt_int'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_cvt_string'</span><span class="sy0">,</span><span class="st_h">'radius_demangle'</span><span class="sy0">,</span><span class="st_h">'radius_demangle_mppe_key'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'radius_get_attr'</span><span class="sy0">,</span><span class="st_h">'radius_get_vendor_attr'</span><span class="sy0">,</span><span class="st_h">'radius_put_addr'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_put_attr'</span><span class="sy0">,</span><span class="st_h">'radius_put_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'radius_put_vendor_addr'</span><span class="sy0">,</span><span class="st_h">'radius_put_vendor_attr'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_put_vendor_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_vendor_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'radius_request_authenticator'</span><span class="sy0">,</span><span class="st_h">'radius_send_request'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_server_secret'</span><span class="sy0">,</span><span class="st_h">'radius_strerror'</span><span class="sy0">,</span><span class="st_h">'rand'</span><span class="sy0">,</span><span class="st_h">'range'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'rawurldecode'</span><span class="sy0">,</span><span class="st_h">'rawurlencode'</span><span class="sy0">,</span><span class="st_h">'read_exif_data'</span><span class="sy0">,</span><span class="st_h">'readdir'</span><span class="sy0">,</span><span class="st_h">'readfile'</span><span class="sy0">,</span></span></span> <span class="st_h">'readgzfile'</span><span class="sy0">,</span><span class="st_h">'readlink'</span><span class="sy0">,</span><span class="st_h">'realpath'</span><span class="sy0">,</span><span class="st_h">'reg_close_key'</span><span class="sy0">,</span><span class="st_h">'reg_create_key'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'reg_enum_key'</span><span class="sy0">,</span><span class="st_h">'reg_enum_value'</span><span class="sy0">,</span><span class="st_h">'reg_get_value'</span><span class="sy0">,</span><span class="st_h">'reg_open_key'</span><span class="sy0">,</span></span></span> <span class="st_h">'reg_set_value'</span><span class="sy0">,</span><span class="st_h">'register_shutdown_function'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'register_tick_function'</span><span class="sy0">,</span><span class="st_h">'rename'</span><span class="sy0">,</span><span class="st_h">'res_close'</span><span class="sy0">,</span><span class="st_h">'res_get'</span><span class="sy0">,</span><span class="st_h">'res_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'res_list_type'</span><span class="sy0">,</span><span class="st_h">'res_open'</span><span class="sy0">,</span><span class="st_h">'res_set'</span><span class="sy0">,</span><span class="st_h">'reset'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'restore_error_handler'</span><span class="sy0">,</span><span class="st_h">'restore_include_path'</span><span class="sy0">,</span><span class="st_h">'rewind'</span><span class="sy0">,</span><span class="st_h">'rewinddir'</span><span class="sy0">,</span></span></span> <span class="st_h">'rmdir'</span><span class="sy0">,</span><span class="st_h">'round'</span><span class="sy0">,</span><span class="st_h">'rsort'</span><span class="sy0">,</span><span class="st_h">'rtrim'</span><span class="sy0">,</span><span class="st_h">'runkit_class_adopt'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_class_emancipate'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_constant_redefine'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_remove'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_default_property_add'</span><span class="sy0">,</span><span class="st_h">'runkit_function_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_function_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_function_redefine'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_function_remove'</span><span class="sy0">,</span><span class="st_h">'runkit_function_rename'</span><span class="sy0">,</span><span class="st_h">'runkit_import'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_lint'</span><span class="sy0">,</span><span class="st_h">'runkit_lint_file'</span><span class="sy0">,</span><span class="st_h">'runkit_method_add'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_method_redefine'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'runkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'runkit_object_id'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_return_value_used'</span><span class="sy0">,</span><span class="st_h">'runkit_sandbox_output_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_superglobals'</span><span class="sy0">,</span><span class="st_h">'runkit_zval_inspect'</span><span class="sy0">,</span><span class="st_h">'scandir'</span><span class="sy0">,</span><span class="st_h">'sem_acquire'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sem_get'</span><span class="sy0">,</span><span class="st_h">'sem_release'</span><span class="sy0">,</span><span class="st_h">'sem_remove'</span><span class="sy0">,</span><span class="st_h">'serialize'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_cache_expire'</span><span class="sy0">,</span><span class="st_h">'session_cache_limiter'</span><span class="sy0">,</span><span class="st_h">'session_commit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'session_decode'</span><span class="sy0">,</span><span class="st_h">'session_destroy'</span><span class="sy0">,</span><span class="st_h">'session_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_get_cookie_params'</span><span class="sy0">,</span><span class="st_h">'session_id'</span><span class="sy0">,</span><span class="st_h">'session_is_registered'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'session_module_name'</span><span class="sy0">,</span><span class="st_h">'session_name'</span><span class="sy0">,</span><span class="st_h">'session_regenerate_id'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_register'</span><span class="sy0">,</span><span class="st_h">'session_save_path'</span><span class="sy0">,</span><span class="st_h">'session_set_cookie_params'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'session_set_save_handler'</span><span class="sy0">,</span><span class="st_h">'session_start'</span><span class="sy0">,</span><span class="st_h">'session_unregister'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_unset'</span><span class="sy0">,</span><span class="st_h">'session_write_close'</span><span class="sy0">,</span><span class="st_h">'set_content'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'set_error_handler'</span><span class="sy0">,</span><span class="st_h">'set_file_buffer'</span><span class="sy0">,</span><span class="st_h">'set_include_path'</span><span class="sy0">,</span></span></span> <span class="st_h">'set_magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'set_socket_blocking'</span><span class="sy0">,</span><span class="st_h">'set_time_limit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'setcookie'</span><span class="sy0">,</span><span class="st_h">'setlocale'</span><span class="sy0">,</span><span class="st_h">'setrawcookie'</span><span class="sy0">,</span><span class="st_h">'settype'</span><span class="sy0">,</span><span class="st_h">'sha1'</span><span class="sy0">,</span><span class="st_h">'sha1_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'shell_exec'</span><span class="sy0">,</span><span class="st_h">'shmop_close'</span><span class="sy0">,</span><span class="st_h">'shmop_delete'</span><span class="sy0">,</span><span class="st_h">'shmop_open'</span><span class="sy0">,</span><span class="st_h">'shmop_read'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'shmop_size'</span><span class="sy0">,</span><span class="st_h">'shmop_write'</span><span class="sy0">,</span><span class="st_h">'shm_attach'</span><span class="sy0">,</span><span class="st_h">'shm_detach'</span><span class="sy0">,</span><span class="st_h">'shm_get_var'</span><span class="sy0">,</span></span></span> <span class="st_h">'shm_put_var'</span><span class="sy0">,</span><span class="st_h">'shm_remove'</span><span class="sy0">,</span><span class="st_h">'shm_remove_var'</span><span class="sy0">,</span><span class="st_h">'show_source'</span><span class="sy0">,</span><span class="st_h">'shuffle'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'similar_text'</span><span class="sy0">,</span><span class="st_h">'simplexml_import_dom'</span><span class="sy0">,</span><span class="st_h">'simplexml_load_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'simplexml_load_string'</span><span class="sy0">,</span><span class="st_h">'sin'</span><span class="sy0">,</span><span class="st_h">'sinh'</span><span class="sy0">,</span><span class="st_h">'sizeof'</span><span class="sy0">,</span><span class="st_h">'sleep'</span><span class="sy0">,</span><span class="st_h">'smtp_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'smtp_cmd_data'</span><span class="sy0">,</span><span class="st_h">'smtp_cmd_mail'</span><span class="sy0">,</span><span class="st_h">'smtp_cmd_rcpt'</span><span class="sy0">,</span><span class="st_h">'smtp_connect'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp_get_quick_print'</span><span class="sy0">,</span><span class="st_h">'snmp_get_valueretrieval'</span><span class="sy0">,</span><span class="st_h">'snmp_read_mib'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'snmp_set_quick_print'</span><span class="sy0">,</span><span class="st_h">'snmp_set_valueretrieval'</span><span class="sy0">,</span><span class="st_h">'snmp2_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp2_getnext'</span><span class="sy0">,</span><span class="st_h">'snmp2_real_walk'</span><span class="sy0">,</span><span class="st_h">'snmp2_set'</span><span class="sy0">,</span><span class="st_h">'snmp2_walk'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'snmp3_get'</span><span class="sy0">,</span><span class="st_h">'snmp3_getnext'</span><span class="sy0">,</span><span class="st_h">'snmp3_real_walk'</span><span class="sy0">,</span><span class="st_h">'snmp3_set'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp3_walk'</span><span class="sy0">,</span><span class="st_h">'snmpget'</span><span class="sy0">,</span><span class="st_h">'snmpgetnext'</span><span class="sy0">,</span><span class="st_h">'snmprealwalk'</span><span class="sy0">,</span><span class="st_h">'snmpset'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'snmpwalk'</span><span class="sy0">,</span><span class="st_h">'snmpwalkoid'</span><span class="sy0">,</span><span class="st_h">'socket_accept'</span><span class="sy0">,</span><span class="st_h">'socket_bind'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_clear_error'</span><span class="sy0">,</span><span class="st_h">'socket_close'</span><span class="sy0">,</span><span class="st_h">'socket_connect'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_create'</span><span class="sy0">,</span><span class="st_h">'socket_create_listen'</span><span class="sy0">,</span><span class="st_h">'socket_create_pair'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_getopt'</span><span class="sy0">,</span><span class="st_h">'socket_getpeername'</span><span class="sy0">,</span><span class="st_h">'socket_getsockname'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_get_option'</span><span class="sy0">,</span><span class="st_h">'socket_get_status'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_iovec_alloc'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_delete'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_fetch'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_iovec_free'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_set'</span><span class="sy0">,</span><span class="st_h">'socket_last_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_listen'</span><span class="sy0">,</span><span class="st_h">'socket_read'</span><span class="sy0">,</span><span class="st_h">'socket_readv'</span><span class="sy0">,</span><span class="st_h">'socket_recv'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_recvfrom'</span><span class="sy0">,</span><span class="st_h">'socket_recvmsg'</span><span class="sy0">,</span><span class="st_h">'socket_select'</span><span class="sy0">,</span><span class="st_h">'socket_send'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_sendmsg'</span><span class="sy0">,</span><span class="st_h">'socket_sendto'</span><span class="sy0">,</span><span class="st_h">'socket_setopt'</span><span class="sy0">,</span><span class="st_h">'socket_set_block'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_set_blocking'</span><span class="sy0">,</span><span class="st_h">'socket_set_nonblock'</span><span class="sy0">,</span><span class="st_h">'socket_set_option'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_set_timeout'</span><span class="sy0">,</span><span class="st_h">'socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'socket_strerror'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'socket_write'</span><span class="sy0">,</span><span class="st_h">'socket_writev'</span><span class="sy0">,</span><span class="st_h">'sort'</span><span class="sy0">,</span><span class="st_h">'soundex'</span><span class="sy0">,</span><span class="st_h">'spl_autoload'</span><span class="sy0">,</span></span></span> <span class="st_h">'spl_autoload_call'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_extensions'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'spl_autoload_functions'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_register'</span><span class="sy0">,</span></span></span> <span class="st_h">'spl_autoload_unregister'</span><span class="sy0">,</span><span class="st_h">'spl_classes'</span><span class="sy0">,</span><span class="st_h">'spl_object_hash'</span><span class="sy0">,</span><span class="st_h">'split'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'spliti'</span><span class="sy0">,</span><span class="st_h">'sprintf'</span><span class="sy0">,</span><span class="st_h">'sql_regcase'</span><span class="sy0">,</span><span class="st_h">'sqlite_array_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_busy_timeout'</span><span class="sy0">,</span><span class="st_h">'sqlite_changes'</span><span class="sy0">,</span><span class="st_h">'sqlite_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_column'</span><span class="sy0">,</span><span class="st_h">'sqlite_create_aggregate'</span><span class="sy0">,</span><span class="st_h">'sqlite_create_function'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_current'</span><span class="sy0">,</span><span class="st_h">'sqlite_error_string'</span><span class="sy0">,</span><span class="st_h">'sqlite_escape_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_exec'</span><span class="sy0">,</span><span class="st_h">'sqlite_factory'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_fetch_array'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_column_types'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_fetch_object'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_single'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_field_name'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_more'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_prev'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_last_error'</span><span class="sy0">,</span><span class="st_h">'sqlite_last_insert_rowid'</span><span class="sy0">,</span><span class="st_h">'sqlite_libencoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_libversion'</span><span class="sy0">,</span><span class="st_h">'sqlite_next'</span><span class="sy0">,</span><span class="st_h">'sqlite_num_fields'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_num_rows'</span><span class="sy0">,</span><span class="st_h">'sqlite_open'</span><span class="sy0">,</span><span class="st_h">'sqlite_popen'</span><span class="sy0">,</span><span class="st_h">'sqlite_prev'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_rewind'</span><span class="sy0">,</span><span class="st_h">'sqlite_seek'</span><span class="sy0">,</span><span class="st_h">'sqlite_single_query'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_udf_decode_binary'</span><span class="sy0">,</span><span class="st_h">'sqlite_udf_encode_binary'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_unbuffered_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_valid'</span><span class="sy0">,</span><span class="st_h">'sqrt'</span><span class="sy0">,</span><span class="st_h">'srand'</span><span class="sy0">,</span><span class="st_h">'sscanf'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_auth_hostbased_file'</span><span class="sy0">,</span><span class="st_h">'ssh2_auth_none'</span><span class="sy0">,</span><span class="st_h">'ssh2_auth_password'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_auth_pubkey_file'</span><span class="sy0">,</span><span class="st_h">'ssh2_connect'</span><span class="sy0">,</span><span class="st_h">'ssh2_exec'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_fetch_stream'</span><span class="sy0">,</span><span class="st_h">'ssh2_fingerprint'</span><span class="sy0">,</span><span class="st_h">'ssh2_forward_accept'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_forward_listen'</span><span class="sy0">,</span><span class="st_h">'ssh2_methods_negotiated'</span><span class="sy0">,</span><span class="st_h">'ssh2_poll'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_publickey_add'</span><span class="sy0">,</span><span class="st_h">'ssh2_publickey_init'</span><span class="sy0">,</span><span class="st_h">'ssh2_publickey_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_publickey_remove'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_recv'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_send'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_sftp_lstat'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_mkdir'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_readlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_sftp_realpath'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rename'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rmdir'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_sftp_stat'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_symlink'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_unlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_shell'</span><span class="sy0">,</span><span class="st_h">'ssh2_tunnel'</span><span class="sy0">,</span><span class="st_h">'stat'</span><span class="sy0">,</span><span class="st_h">'stats_absolute_deviation'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_beta'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_cauchy'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_chisquare'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_exponential'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_f'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_gamma'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_laplace'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_logistic'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_noncentral_chisquare'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_noncentral_f'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_noncentral_t'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_normal'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_poisson'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_t'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_uniform'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_weibull'</span><span class="sy0">,</span><span class="st_h">'stats_covariance'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_beta'</span><span class="sy0">,</span><span class="st_h">'stats_dens_cauchy'</span><span class="sy0">,</span><span class="st_h">'stats_dens_chisquare'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_exponential'</span><span class="sy0">,</span><span class="st_h">'stats_dens_f'</span><span class="sy0">,</span><span class="st_h">'stats_dens_gamma'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_laplace'</span><span class="sy0">,</span><span class="st_h">'stats_dens_logistic'</span><span class="sy0">,</span><span class="st_h">'stats_dens_normal'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_pmf_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_dens_pmf_hypergeometric'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_pmf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_dens_pmf_poisson'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_t'</span><span class="sy0">,</span><span class="st_h">'stats_dens_uniform'</span><span class="sy0">,</span><span class="st_h">'stats_dens_weibull'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_harmonic_mean'</span><span class="sy0">,</span><span class="st_h">'stats_kurtosis'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_beta'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_chisquare'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_exponential'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_funiform'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_gamma'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_ipoisson'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_iuniform'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_noncenral_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_noncentral_chisquare'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_noncentral_t'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_normal'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_t'</span><span class="sy0">,</span><span class="st_h">'stats_rand_getsd'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ibinomial'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_ibinomial_negative'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ignlgi'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_phrase_to_seeds'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ranf'</span><span class="sy0">,</span><span class="st_h">'stats_rand_setall'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_skew'</span><span class="sy0">,</span><span class="st_h">'stats_standard_deviation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_binomial_coef'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_stat_correlation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_factorial'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_stat_independent_t'</span><span class="sy0">,</span><span class="st_h">'stats_stat_innerproduct'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_stat_paired_t'</span><span class="sy0">,</span><span class="st_h">'stats_stat_percentile'</span><span class="sy0">,</span><span class="st_h">'stats_stat_powersum'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stats_variance'</span><span class="sy0">,</span><span class="st_h">'strcasecmp'</span><span class="sy0">,</span><span class="st_h">'strchr'</span><span class="sy0">,</span><span class="st_h">'strcmp'</span><span class="sy0">,</span><span class="st_h">'strcoll'</span><span class="sy0">,</span><span class="st_h">'strcspn'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_bucket_append'</span><span class="sy0">,</span><span class="st_h">'stream_bucket_make_writeable'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_bucket_new'</span><span class="sy0">,</span><span class="st_h">'stream_bucket_prepend'</span><span class="sy0">,</span><span class="st_h">'stream_context_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_context_get_default'</span><span class="sy0">,</span><span class="st_h">'stream_context_get_options'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_context_set_default'</span><span class="sy0">,</span><span class="st_h">'stream_context_set_option'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_context_set_params'</span><span class="sy0">,</span><span class="st_h">'stream_copy_to_stream'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_encoding'</span><span class="sy0">,</span><span class="st_h">'stream_filter_append'</span><span class="sy0">,</span><span class="st_h">'stream_filter_prepend'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_filter_register'</span><span class="sy0">,</span><span class="st_h">'stream_filter_remove'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_get_contents'</span><span class="sy0">,</span><span class="st_h">'stream_get_filters'</span><span class="sy0">,</span><span class="st_h">'stream_get_line'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_get_meta_data'</span><span class="sy0">,</span><span class="st_h">'stream_get_transports'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_get_wrappers'</span><span class="sy0">,</span><span class="st_h">'stream_is_local'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_notification_callback'</span><span class="sy0">,</span><span class="st_h">'stream_register_wrapper'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_resolve_include_path'</span><span class="sy0">,</span><span class="st_h">'stream_select'</span><span class="sy0">,</span><span class="st_h">'stream_set_blocking'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_set_timeout'</span><span class="sy0">,</span><span class="st_h">'stream_set_write_buffer'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_accept'</span><span class="sy0">,</span><span class="st_h">'stream_socket_client'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_enable_crypto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_get_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_pair'</span><span class="sy0">,</span><span class="st_h">'stream_socket_recvfrom'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_sendto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_server'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'stream_supports_lock'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_wrapper_register'</span><span class="sy0">,</span><span class="st_h">'stream_wrapper_restore'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'stream_wrapper_unregister'</span><span class="sy0">,</span><span class="st_h">'strftime'</span><span class="sy0">,</span><span class="st_h">'stripcslashes'</span><span class="sy0">,</span><span class="st_h">'stripos'</span><span class="sy0">,</span></span></span> <span class="st_h">'stripslashes'</span><span class="sy0">,</span><span class="st_h">'strip_tags'</span><span class="sy0">,</span><span class="st_h">'stristr'</span><span class="sy0">,</span><span class="st_h">'strlen'</span><span class="sy0">,</span><span class="st_h">'strnatcasecmp'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'strnatcmp'</span><span class="sy0">,</span><span class="st_h">'strpbrk'</span><span class="sy0">,</span><span class="st_h">'strncasecmp'</span><span class="sy0">,</span><span class="st_h">'strncmp'</span><span class="sy0">,</span><span class="st_h">'strpos'</span><span class="sy0">,</span><span class="st_h">'strrchr'</span><span class="sy0">,</span></span></span> <span class="st_h">'strrev'</span><span class="sy0">,</span><span class="st_h">'strripos'</span><span class="sy0">,</span><span class="st_h">'strrpos'</span><span class="sy0">,</span><span class="st_h">'strspn'</span><span class="sy0">,</span><span class="st_h">'strstr'</span><span class="sy0">,</span><span class="st_h">'strtok'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'strtolower'</span><span class="sy0">,</span><span class="st_h">'strtotime'</span><span class="sy0">,</span><span class="st_h">'strtoupper'</span><span class="sy0">,</span><span class="st_h">'strtr'</span><span class="sy0">,</span><span class="st_h">'strval'</span><span class="sy0">,</span></span></span> <span class="st_h">'str_ireplace'</span><span class="sy0">,</span><span class="st_h">'str_pad'</span><span class="sy0">,</span><span class="st_h">'str_repeat'</span><span class="sy0">,</span><span class="st_h">'str_replace'</span><span class="sy0">,</span><span class="st_h">'str_rot13'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'str_split'</span><span class="sy0">,</span><span class="st_h">'str_shuffle'</span><span class="sy0">,</span><span class="st_h">'str_word_count'</span><span class="sy0">,</span><span class="st_h">'substr'</span><span class="sy0">,</span></span></span> <span class="st_h">'substr_compare'</span><span class="sy0">,</span><span class="st_h">'substr_count'</span><span class="sy0">,</span><span class="st_h">'substr_replace'</span><span class="sy0">,</span><span class="st_h">'svn_add'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_auth_get_parameter'</span><span class="sy0">,</span><span class="st_h">'svn_auth_set_parameter'</span><span class="sy0">,</span><span class="st_h">'svn_cat'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_checkout'</span><span class="sy0">,</span><span class="st_h">'svn_cleanup'</span><span class="sy0">,</span><span class="st_h">'svn_client_version'</span><span class="sy0">,</span><span class="st_h">'svn_commit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_diff'</span><span class="sy0">,</span><span class="st_h">'svn_export'</span><span class="sy0">,</span><span class="st_h">'svn_fs_abort_txn'</span><span class="sy0">,</span><span class="st_h">'svn_fs_apply_text'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_begin_txn2'</span><span class="sy0">,</span><span class="st_h">'svn_fs_change_node_prop'</span><span class="sy0">,</span><span class="st_h">'svn_fs_check_path'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_contents_changed'</span><span class="sy0">,</span><span class="st_h">'svn_fs_copy'</span><span class="sy0">,</span><span class="st_h">'svn_fs_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_dir_entries'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_contents'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_length'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_is_dir'</span><span class="sy0">,</span><span class="st_h">'svn_fs_is_file'</span><span class="sy0">,</span><span class="st_h">'svn_fs_make_dir'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_make_file'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_created_rev'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_prop'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_props_changed'</span><span class="sy0">,</span><span class="st_h">'svn_fs_revision_prop'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_revision_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_txn_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_youngest_rev'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_import'</span><span class="sy0">,</span><span class="st_h">'svn_info'</span><span class="sy0">,</span><span class="st_h">'svn_log'</span><span class="sy0">,</span><span class="st_h">'svn_ls'</span><span class="sy0">,</span><span class="st_h">'svn_repos_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_repos_fs'</span><span class="sy0">,</span><span class="st_h">'svn_repos_fs_begin_txn_for_commit'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'svn_repos_fs_commit_txn'</span><span class="sy0">,</span><span class="st_h">'svn_repos_hotcopy'</span><span class="sy0">,</span><span class="st_h">'svn_repos_open'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_repos_recover'</span><span class="sy0">,</span><span class="st_h">'svn_status'</span><span class="sy0">,</span><span class="st_h">'svn_update'</span><span class="sy0">,</span><span class="st_h">'symlink'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'sys_get_temp_dir'</span><span class="sy0">,</span><span class="st_h">'syslog'</span><span class="sy0">,</span><span class="st_h">'system'</span><span class="sy0">,</span><span class="st_h">'tan'</span><span class="sy0">,</span><span class="st_h">'tanh'</span><span class="sy0">,</span><span class="st_h">'tempnam'</span><span class="sy0">,</span></span></span> <span class="st_h">'textdomain'</span><span class="sy0">,</span><span class="st_h">'thread_get'</span><span class="sy0">,</span><span class="st_h">'thread_include'</span><span class="sy0">,</span><span class="st_h">'thread_lock'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'thread_lock_try'</span><span class="sy0">,</span><span class="st_h">'thread_mutex_destroy'</span><span class="sy0">,</span><span class="st_h">'thread_mutex_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'thread_set'</span><span class="sy0">,</span><span class="st_h">'thread_start'</span><span class="sy0">,</span><span class="st_h">'thread_unlock'</span><span class="sy0">,</span><span class="st_h">'tidy_access_count'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_clean_repair'</span><span class="sy0">,</span><span class="st_h">'tidy_config_count'</span><span class="sy0">,</span><span class="st_h">'tidy_diagnose'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_error_count'</span><span class="sy0">,</span><span class="st_h">'tidy_get_body'</span><span class="sy0">,</span><span class="st_h">'tidy_get_config'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_get_error_buffer'</span><span class="sy0">,</span><span class="st_h">'tidy_get_head'</span><span class="sy0">,</span><span class="st_h">'tidy_get_html'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_get_html_ver'</span><span class="sy0">,</span><span class="st_h">'tidy_get_output'</span><span class="sy0">,</span><span class="st_h">'tidy_get_release'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_get_root'</span><span class="sy0">,</span><span class="st_h">'tidy_get_status'</span><span class="sy0">,</span><span class="st_h">'tidy_getopt'</span><span class="sy0">,</span><span class="st_h">'tidy_is_xhtml'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_is_xml'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_file'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_string'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_repair_file'</span><span class="sy0">,</span><span class="st_h">'tidy_repair_string'</span><span class="sy0">,</span><span class="st_h">'tidy_warning_count'</span><span class="sy0">,</span><span class="st_h">'time'</span><span class="sy0">,</span></span></span> <span class="st_h">'timezone_abbreviations_list'</span><span class="sy0">,</span><span class="st_h">'timezone_identifiers_list'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'timezone_name_from_abbr'</span><span class="sy0">,</span><span class="st_h">'timezone_name_get'</span><span class="sy0">,</span><span class="st_h">'timezone_offset_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'timezone_open'</span><span class="sy0">,</span><span class="st_h">'timezone_transitions_get'</span><span class="sy0">,</span><span class="st_h">'tmpfile'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'token_get_all'</span><span class="sy0">,</span><span class="st_h">'token_name'</span><span class="sy0">,</span><span class="st_h">'touch'</span><span class="sy0">,</span><span class="st_h">'trigger_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'transliterate'</span><span class="sy0">,</span><span class="st_h">'transliterate_filters_get'</span><span class="sy0">,</span><span class="st_h">'trim'</span><span class="sy0">,</span><span class="st_h">'uasort'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ucfirst'</span><span class="sy0">,</span><span class="st_h">'ucwords'</span><span class="sy0">,</span><span class="st_h">'uksort'</span><span class="sy0">,</span><span class="st_h">'umask'</span><span class="sy0">,</span><span class="st_h">'uniqid'</span><span class="sy0">,</span><span class="st_h">'unixtojd'</span><span class="sy0">,</span><span class="st_h">'unlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'unpack'</span><span class="sy0">,</span><span class="st_h">'unregister_tick_function'</span><span class="sy0">,</span><span class="st_h">'unserialize'</span><span class="sy0">,</span><span class="st_h">'unset'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'urldecode'</span><span class="sy0">,</span><span class="st_h">'urlencode'</span><span class="sy0">,</span><span class="st_h">'user_error'</span><span class="sy0">,</span><span class="st_h">'use_soap_error_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'usleep'</span><span class="sy0">,</span><span class="st_h">'usort'</span><span class="sy0">,</span><span class="st_h">'utf8_decode'</span><span class="sy0">,</span><span class="st_h">'utf8_encode'</span><span class="sy0">,</span><span class="st_h">'var_dump'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'var_export'</span><span class="sy0">,</span><span class="st_h">'variant_abs'</span><span class="sy0">,</span><span class="st_h">'variant_add'</span><span class="sy0">,</span><span class="st_h">'variant_and'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_cast'</span><span class="sy0">,</span><span class="st_h">'variant_cat'</span><span class="sy0">,</span><span class="st_h">'variant_cmp'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'variant_date_from_timestamp'</span><span class="sy0">,</span><span class="st_h">'variant_date_to_timestamp'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_div'</span><span class="sy0">,</span><span class="st_h">'variant_eqv'</span><span class="sy0">,</span><span class="st_h">'variant_fix'</span><span class="sy0">,</span><span class="st_h">'variant_get_type'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'variant_idiv'</span><span class="sy0">,</span><span class="st_h">'variant_imp'</span><span class="sy0">,</span><span class="st_h">'variant_int'</span><span class="sy0">,</span><span class="st_h">'variant_mod'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_mul'</span><span class="sy0">,</span><span class="st_h">'variant_neg'</span><span class="sy0">,</span><span class="st_h">'variant_not'</span><span class="sy0">,</span><span class="st_h">'variant_or'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'variant_pow'</span><span class="sy0">,</span><span class="st_h">'variant_round'</span><span class="sy0">,</span><span class="st_h">'variant_set'</span><span class="sy0">,</span><span class="st_h">'variant_set_type'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_sub'</span><span class="sy0">,</span><span class="st_h">'variant_xor'</span><span class="sy0">,</span><span class="st_h">'version_compare'</span><span class="sy0">,</span><span class="st_h">'virtual'</span><span class="sy0">,</span><span class="st_h">'vfprintf'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'vprintf'</span><span class="sy0">,</span><span class="st_h">'vsprintf'</span><span class="sy0">,</span><span class="st_h">'wddx_add_vars'</span><span class="sy0">,</span><span class="st_h">'wddx_deserialize'</span><span class="sy0">,</span></span></span> <span class="st_h">'wddx_packet_end'</span><span class="sy0">,</span><span class="st_h">'wddx_packet_start'</span><span class="sy0">,</span><span class="st_h">'wddx_serialize_value'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'wddx_serialize_vars'</span><span class="sy0">,</span><span class="st_h">'win_beep'</span><span class="sy0">,</span><span class="st_h">'win_browse_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'win_browse_folder'</span><span class="sy0">,</span><span class="st_h">'win_create_link'</span><span class="sy0">,</span><span class="st_h">'win_message_box'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'win_play_wav'</span><span class="sy0">,</span><span class="st_h">'win_shell_execute'</span><span class="sy0">,</span><span class="st_h">'win32_create_service'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_delete_service'</span><span class="sy0">,</span><span class="st_h">'win32_get_last_control_message'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'win32_ps_list_procs'</span><span class="sy0">,</span><span class="st_h">'win32_ps_stat_mem'</span><span class="sy0">,</span><span class="st_h">'win32_ps_stat_proc'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_query_service_status'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_delete_task'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'win32_scheduler_enum_tasks'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_get_task_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_scheduler_run'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_set_task_info'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'win32_set_service_status'</span><span class="sy0">,</span><span class="st_h">'win32_start_service'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_start_service_ctrl_dispatcher'</span><span class="sy0">,</span><span class="st_h">'win32_stop_service'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'wordwrap'</span><span class="sy0">,</span><span class="st_h">'xml_error_string'</span><span class="sy0">,</span><span class="st_h">'xml_get_current_byte_index'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_get_current_column_number'</span><span class="sy0">,</span><span class="st_h">'xml_get_current_line_number'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_get_error_code'</span><span class="sy0">,</span><span class="st_h">'xml_parse'</span><span class="sy0">,</span><span class="st_h">'xml_parser_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_parser_create_ns'</span><span class="sy0">,</span><span class="st_h">'xml_parser_free'</span><span class="sy0">,</span><span class="st_h">'xml_parser_get_option'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_set_option'</span><span class="sy0">,</span><span class="st_h">'xml_parse_into_struct'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_character_data_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_default_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_element_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_end_namespace_decl_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_notation_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_object'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_unparsed_entity_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xmldoc'</span><span class="sy0">,</span><span class="st_h">'xmldocfile'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_decode'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_decode_request'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_encode_request'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_get_type'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_is_fault'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_parse_method_descriptions'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_server_add_introspection_data'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_call_method'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_create'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_destroy'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_server_register_introspection_callback'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_register_method'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_set_type'</span><span class="sy0">,</span><span class="st_h">'xmltree'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_cdata'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_comment'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_document'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_dtd_attlist'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_dtd_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_dtd_entity'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_flush'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_full_end_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_open_memory'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_open_uri'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_output_memory'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_set_indent'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_set_indent_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_attribute_ns'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_comment'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_document'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_dtd_attlist'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd_element'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_dtd_entity'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_element'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_element_ns'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_text'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_attribute_ns'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_comment'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_dtd_attlist'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_dtd_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_dtd_entity'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_element_ns'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_raw'</span><span class="sy0">,</span><span class="st_h">'xpath_eval'</span><span class="sy0">,</span></span></span> <span class="st_h">'xpath_eval_expression'</span><span class="sy0">,</span><span class="st_h">'xpath_new_context'</span><span class="sy0">,</span><span class="st_h">'xpath_register_ns'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xpath_register_ns_auto'</span><span class="sy0">,</span><span class="st_h">'xptr_eval'</span><span class="sy0">,</span><span class="st_h">'xptr_new_context'</span><span class="sy0">,</span><span class="st_h">'yp_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_cat'</span><span class="sy0">,</span><span class="st_h">'yp_errno'</span><span class="sy0">,</span><span class="st_h">'yp_err_string'</span><span class="sy0">,</span><span class="st_h">'yp_first'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'yp_get_default_domain'</span><span class="sy0">,</span><span class="st_h">'yp_master'</span><span class="sy0">,</span><span class="st_h">'yp_match'</span><span class="sy0">,</span><span class="st_h">'yp_next'</span><span class="sy0">,</span><span class="st_h">'yp_order'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_current_obfuscation_level'</span><span class="sy0">,</span><span class="st_h">'zend_get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'zend_get_id'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zend_loader_current_file'</span><span class="sy0">,</span><span class="st_h">'zend_loader_enabled'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_loader_file_encoded'</span><span class="sy0">,</span><span class="st_h">'zend_loader_file_licensed'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zend_loader_install_license'</span><span class="sy0">,</span><span class="st_h">'zend_loader_version'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_logo_guid'</span><span class="sy0">,</span><span class="st_h">'zend_match_hostmasks'</span><span class="sy0">,</span><span class="st_h">'zend_obfuscate_class_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zend_obfuscate_function_name'</span><span class="sy0">,</span><span class="st_h">'zend_optimizer_version'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_runtime_obfuscate'</span><span class="sy0">,</span><span class="st_h">'zend_version'</span><span class="sy0">,</span><span class="st_h">'zip_close'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zip_entry_close'</span><span class="sy0">,</span><span class="st_h">'zip_entry_compressedsize'</span><span class="sy0">,</span></span></span> <span class="st_h">'zip_entry_compressionmethod'</span><span class="sy0">,</span><span class="st_h">'zip_entry_filesize'</span><span class="sy0">,</span><span class="st_h">'zip_entry_name'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zip_entry_open'</span><span class="sy0">,</span><span class="st_h">'zip_entry_read'</span><span class="sy0">,</span><span class="st_h">'zip_open'</span><span class="sy0">,</span><span class="st_h">'zip_read'</span><span class="sy0">,</span></span></span> <span class="st_h">'zlib_get_coding_type'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'DEFAULT_INCLUDE_PATH'</span><span class="sy0">,</span> <span class="st_h">'DIRECTORY_SEPARATOR'</span><span class="sy0">,</span> <span class="st_h">'E_ALL'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_COMPILE_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_COMPILE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_CORE_ERROR'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'E_CORE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_PARSE'</span><span class="sy0">,</span> <span class="st_h">'E_STRICT'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_USER_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_USER_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_USER_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_WARNING'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ENT_COMPAT'</span><span class="sy0">,</span><span class="st_h">'ENT_QUOTES'</span><span class="sy0">,</span><span class="st_h">'ENT_NOQUOTES'</span><span class="sy0">,</span></span></span> <span class="st_h">'false'</span><span class="sy0">,</span> <span class="st_h">'null'</span><span class="sy0">,</span> <span class="st_h">'PEAR_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PEAR_INSTALL_DIR'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_BINDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_CONFIG_FILE_PATH'</span><span class="sy0">,</span> <span class="st_h">'PHP_DATADIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_OUTPUT_HANDLER_CONT'</span><span class="sy0">,</span> <span class="st_h">'PHP_OUTPUT_HANDLER_END'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_OUTPUT_HANDLER_START'</span><span class="sy0">,</span> <span class="st_h">'PHP_SYSCONFDIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_VERSION'</span><span class="sy0">,</span> <span class="st_h">'true'</span><span class="sy0">,</span> <span class="st_h">'__CLASS__'</span><span class="sy0">,</span> <span class="st_h">'__FILE__'</span><span class="sy0">,</span> <span class="st_h">'__FUNCTION__'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'%='</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">.</span><span class="st_h">'>'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?='</span><span class="sy0">,</span> <span class="st_h">'?'</span><span class="sy0">.</span><span class="st_h">'>'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="sy0">,</span></span></span> <span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'<'</span><span class="sy0">,</span> <span class="st_h">'>'</span><span class="sy0">,</span></span></span> <span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'.'</span><span class="sy0">,</span> <span class="st_h">':'</span><span class="sy0">,</span> <span class="st_h">','</span><span class="sy0">,</span> <span class="st_h">';'</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'CASE_SENSITIVE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_COMMENTS <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">false</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #990000;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009900; font-weight: bold;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #0000cc; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-style: italic;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'MULTI'</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">6</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-weight: bold;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #009900;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span><span class="sy0">,</span></span></span> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #cc66cc;'</span><span class="sy0">,</span></span></span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_NUMBER_HEX_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span></span></span> GESHI_NUMBER_FLT_SCI_ZERO <span class="sy0">=></span> <span class="st_h">'color:#800080;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #339933;'</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000088;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">''</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'http://www.php.net/{FNAMEL}'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'OBJECT_SPLITTERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'::'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="co1">//Variables</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st0">"[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=></span> GESHI_MAYBE<span class="sy0">,</span></span></span> <span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<?php'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'<?'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<%'</span> <span class="sy0">=></span> <span class="st_h">'%>'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'<script language="php">'</span> <span class="sy0">=></span> <span class="st_h">'</script>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"/(<\?(?:php)?)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm"</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"/(<%)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="kw4">true</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'TAB_WIDTH'</span> <span class="sy0">=></span> <span class="nu0">4</span>
|
|
<span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">;</span></span></span>
|
|
<span class="xtra li2"><span class="de2"><span class="sy1">?></span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>If you’re remotely familiar with <abbr title="PHP: HTML Preprocessor">PHP</abbr> (or even if you’re not), you can see that all that a language file consists of is
|
|
a glorified variable assignment. Easy! All a language file does is assign a variable <code class="highlighted php"><span class="re0">$language_data</span></code>. Though
|
|
still, there’s a lot of indices to that array… but this section is here to break each index down and explain it to you.</p>
|
|
|
|
<h3 id="language-file-conventions">4.2 Language File Conventions</h3><div class="nav"><a href="#language-file-example">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-sections">Next</a></div>
|
|
|
|
<p>There are several conventions that are used in language files. For ease of use and readability, your language
|
|
files should obey the following rules:</p>
|
|
|
|
<ul>
|
|
<li><strong>Indentation is <em>4 spaces</em>, not tabs:</strong> Use spaces! as editors continiously screw up tabs there should be
|
|
no tabs in your documents since it would look differently on every computer otherwise.</li>
|
|
<li><strong>Strings are in single quotes:</strong> Every string in a language file should be in single quotes (‘), unless you are
|
|
specifying a single quote as a quotemark or escape character, in which case they can be in double quotes for
|
|
readability; or if you are specifying a REGEXP (see below). This ensures that the language file can be loaded
|
|
as fast as possible by <abbr title="PHP: HTML Preprocessor">PHP</abbr> as unnecessary parsing can be avoided.</li>
|
|
<li><strong>Large arrays are multi-lined:</strong> An array with more than three or four values should be broken into multiple
|
|
lines. In any case, lines should not be wider than a full-screen window (about 100 chars per line max).
|
|
Don’t break the keywords arrays after every keyword.</li>
|
|
<li><strong>Ending brackets for multi-lined arrays on a new line:</strong> Also with a comma after them, unless the array is
|
|
the last one in a parent array. See the <abbr title="PHP: HTML Preprocessor">PHP</abbr> language file for examples of where to use commas.</li>
|
|
<li><strong>Use <abbr title="Generic Syntax Highlighter">GeSHi</abbr>’s constants:</strong> For capatalisation, regular expressions etc. use the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants, <em>not</em>
|
|
their actual values.</li>
|
|
<li><strong>Verbatim header format:</strong> Copy the file header verbatim from other language files and modify the values
|
|
afterwards. Don’t try to invent own header formats, as your languages else will fail validation!</li>
|
|
</ul>
|
|
|
|
<p>There are more notes on each convention where it may appear in the language file sections below.</p>
|
|
|
|
<h3 id="language-file-sections">4.3 Language File Sections</h3><div class="nav"><a href="#language-file-conventions">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-header">Next</a></div>
|
|
|
|
<p>This section will look at all the sections of a language file, and how they relate to the final highlighting result.</p>
|
|
|
|
<h4 id="language-file-header">4.3.1 The Header</h4><div class="nav"><a href="#language-file-sections">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-start-indices">Next</a></div>
|
|
|
|
<p>The <em>header</em> of a language file is the first lines with the big comment and the start of the variable
|
|
<code class="highlighted php"><span class="re0">$language_data</span></code>:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span>29
|
|
<span class="xtra li2"><span class="de2">30</span></span>31
|
|
<span class="xtra li2"><span class="de2">32</span></span>33
|
|
<span class="xtra li2"><span class="de2">34</span></span>35
|
|
<span class="xtra li2"><span class="de2">36</span></span>37
|
|
<span class="xtra li2"><span class="de2">38</span></span>39
|
|
<span class="xtra li2"><span class="de2">40</span></span>41
|
|
<span class="xtra li2"><span class="de2">42</span></span>43
|
|
</pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * <name-of-language-file.php></span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * ---------------------------------</span></span></span><span class="coMULTI"> * Author: <name> (<e-mail address>)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * Copyright: (c) 2008 <name> (<website URL>)</span></span></span><span class="coMULTI"> * Release Version: <GeSHi release></span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: <date started></span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * <name-of-language> language file for GeSHi.</span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * <any-comments...></span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * <date-of-release> (<GeSHi release>)</span></span></span><span class="coMULTI"> * - First Release</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated <date-of-release>)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * -------------------------</span></span></span><span class="coMULTI"> * <things-to-do></span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * GeSHi is free software; you can redistribute it and/or modify</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI"> * the Free Software Foundation; either version 2 of the License, or</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></span></span><span class="coMULTI"> * GNU General Public License for more details.</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * You should have received a copy of the GNU General Public License</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> * along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
|
|
<span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="re0">$language_data</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a> <span class="br0">(</span></pre></td></tr></tbody></table>
|
|
|
|
<p>The parts in angle brackets are the parts that you change for your language file. <strong>Everything else <em>must</em> remain the same!</strong></p>
|
|
|
|
<p>Here are the parts you should change:</p>
|
|
|
|
<ul>
|
|
<li><code><name-of-language-file.php></code> - This should become the name of your language file. Language file names are in
|
|
lower case and contain only alphanumeric characters, dashes and underscores. Language files end with .php (which
|
|
you should put with the name of your language file, eg language.php)</li>
|
|
<li><code><name></code> - Your name, or alias.</li>
|
|
<li><code><e-mail address></code> - Your e-mail address. If you want your language file included with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> you <em>must</em>
|
|
include an e-mail address that refers to an inbox controlled by you.</li>
|
|
<li><code><website></code> - A URL of a website of yours (perhaps to a page that deals with your contribution to <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, or
|
|
your home page/blog)</li>
|
|
<li><code><date-started></code> - The date you started working on the language file. If you can’t remember, guestimate.</li>
|
|
<li><code><name-of-language></code> - The name of the language you made this language file for (probably similar to
|
|
the language file name).</li>
|
|
<li><code><any-comments></code> - Any comments you have to make about this language file, perhaps on where you got the keywords for,
|
|
what dialect of the language this language file is for etc etc. If you don’t have any comments, remove the space for them.</li>
|
|
<li><code><date-of-release</code> - The date you released the language file to the public. If you simply send it to me for inclusion
|
|
in a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> and don’t release it, leave this blank, and I’ll replace it with the date of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> release that
|
|
it is first added to.</li>
|
|
<li><code><GeSHi release></code> - This is the version of the release that will contain the changes you made.
|
|
So if you have version 1.0.8 of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> running this will be the next version to be released, e.g. 1.0.8.1.</li>
|
|
</ul>
|
|
|
|
<p>Everything should remain the same.</p>
|
|
|
|
<p><strong>Also:</strong> I’m not sure about the copyright on a new language file. I’m not a lawyer, could someone contact me about
|
|
whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a
|
|
<abbr title="Generic Syntax Highlighter">GeSHi</abbr> release)?</p>
|
|
|
|
<h4 id="language-file-start-indices">4.3.2 The First Indices</h4><div class="nav"><a href="#language-file-header">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-keywords">Next</a></div>
|
|
|
|
<p>Here is an example from the php language file of the first indices:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'LANG_NAME'</span> <span class="sy0">=></span> <span class="st_h">'PHP'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'#'</span><span class="br0">)</span><span class="sy0">,</span></span></span><span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'/*'</span> <span class="sy0">=></span> <span class="st_h">'*/'</span><span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=></span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span></span></span><span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st_h">'"'</span><span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <span class="st_h">'\\'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>The first indices are the first few lines of a language file before the KEYWORDS index. These indices specify:</p>
|
|
|
|
<ul>
|
|
<li><strong>‘LANG_NAME’</strong>: The name of the language. This name should be a human-readable version of the name
|
|
(e.g. <abbr title="Hypertext Markup Language">HTML</abbr> 4 (transitional) instead of html4trans)</li>
|
|
<li><strong>‘COMMENT_SINGLE’:</strong> An array of single-line comments in your language, indexed by integers starting
|
|
from 1. A single line comment is a comment that starts at the marker and goes until the end of the line. These
|
|
comments may be any length > 0, and since they can be styled individually, can be used for other things than comments
|
|
(for example the Java language file defines “import” as a single line comment). If you are making a language that
|
|
uses a ’ (apostrophe) as a comment (or in the comment marker somewhere), use double quotes. e.g.: “’”</li>
|
|
<li><strong>‘COMMENT_MULTI’:</strong> Used to specify multiline comments, an array in the form ‘OPEN’ => ‘CLOSE’. Unfortunately,
|
|
all of these comments you add here will be styled the same way (an area of improvement for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.2.X).
|
|
These comment markers may be any length > 0.</li>
|
|
<li><strong>‘CASE_KEYWORDS’:</strong> Used to set whether the case of keywords should be changed automatically as they are found.
|
|
For example, in an SQL or BASIC dialect you may want all keywords to be upper case. The accepted values for this are:</li>
|
|
<li><code>GESHI_CAPS_UPPER</code>: Convert the case of all keywords to upper case.</li>
|
|
<li><code>GESHI_CAPS_LOWER</code>: Convert the case of all keywords to lower case.</li>
|
|
<li><code>GESHI_CAPS_NO_CHANGE</code>: Don’t change the case of any keyword.</li>
|
|
<li><strong>‘QUOTEMARKS’:</strong> Specifies the characters that mark the beginning and end of a string. This is another example
|
|
where if your language includes the ’ string delimiter you should use double quotes around it.</li>
|
|
<li><strong>‘ESCAPE_CHAR’:</strong> Specifies the escape character used in all strings. If your language does not have an escape
|
|
character then make this the empty string (<code>''</code>). This is not an array! If found, any character after an
|
|
escape character and the escape character itself will be highlighted differently, and the character after the
|
|
escape character cannot end a string.</li>
|
|
</ul>
|
|
|
|
<p>In some language files you might see here other indices too, but those are dealt with later on.</p>
|
|
|
|
<h4 id="language-file-keywords">4.3.3 Keywords</h4><div class="nav"><a href="#language-file-start-indices">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-symbols-case">Next</a></div>
|
|
|
|
<p>Keywords will make up the bulk of a language file. In this part you add keywords for your language, including
|
|
inbuilt functions, data types, predefined constants etc etc.</p>
|
|
|
|
<p>Here’s a (shortened) example from the php language file:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span>29
|
|
<span class="xtra li2"><span class="de2">30</span></span>31
|
|
<span class="xtra li2"><span class="de2">32</span></span>33
|
|
<span class="xtra li2"><span class="de2">34</span></span>35
|
|
<span class="xtra li2"><span class="de2">36</span></span>37
|
|
<span class="xtra li2"><span class="de2">38</span></span>39
|
|
<span class="xtra li2"><span class="de2">40</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'as'</span><span class="sy0">,</span> <span class="st_h">'break'</span><span class="sy0">,</span> <span class="st_h">'case'</span><span class="sy0">,</span> <span class="st_h">'do'</span><span class="sy0">,</span> <span class="st_h">'else'</span><span class="sy0">,</span> <span class="st_h">'elseif'</span><span class="sy0">,</span> <span class="st_h">'endif'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'endswitch'</span><span class="sy0">,</span> <span class="st_h">'endwhile'</span><span class="sy0">,</span> <span class="st_h">'for'</span><span class="sy0">,</span> <span class="st_h">'foreach'</span><span class="sy0">,</span> <span class="st_h">'if'</span><span class="sy0">,</span> <span class="st_h">'include'</span><span class="sy0">,</span></span></span> <span class="st_h">'include_once'</span><span class="sy0">,</span> <span class="st_h">'require'</span><span class="sy0">,</span> <span class="st_h">'require_once'</span><span class="sy0">,</span> <span class="st_h">'return'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'switch'</span><span class="sy0">,</span> <span class="st_h">'while'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'&lt;/script>'</span><span class="sy0">,</span> <span class="st_h">'&lt;?'</span><span class="sy0">,</span> <span class="st_h">'&lt;?php'</span><span class="sy0">,</span> <span class="st_h">'&lt;script language='</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'?>'</span><span class="sy0">,</span> <span class="st_h">'class'</span><span class="sy0">,</span> <span class="st_h">'default'</span><span class="sy0">,</span> <span class="st_h">'DEFAULT_INCLUDE_PATH'</span><span class="sy0">,</span> <span class="st_h">'E_ALL'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_COMPILE_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_COMPILE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_CORE_ERROR'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'E_CORE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_PARSE'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_USER_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_USER_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_USER_WARNING'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'E_WARNING'</span><span class="sy0">,</span> <span class="st_h">'false'</span><span class="sy0">,</span> <span class="st_h">'function'</span><span class="sy0">,</span> <span class="st_h">'new'</span><span class="sy0">,</span> <span class="st_h">'null'</span><span class="sy0">,</span></span></span> <span class="st_h">'PEAR_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PEAR_INSTALL_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_BINDIR'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_CONFIG_FILE_PATH'</span><span class="sy0">,</span> <span class="st_h">'PHP_DATADIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_OUTPUT_HANDLER_CONT'</span><span class="sy0">,</span> <span class="st_h">'PHP_OUTPUT_HANDLER_END'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_OUTPUT_HANDLER_START'</span><span class="sy0">,</span> <span class="st_h">'PHP_SYSCONFDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_VERSION'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'true'</span><span class="sy0">,</span> <span class="st_h">'var'</span><span class="sy0">,</span> <span class="st_h">'__CLASS__'</span><span class="sy0">,</span> <span class="st_h">'__FILE__'</span><span class="sy0">,</span> <span class="st_h">'__FUNCTION__'</span><span class="sy0">,</span></span></span> <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_create'</span><span class="sy0">,</span> <span class="st_h">'xml_parser_create_ns'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_parser_free'</span><span class="sy0">,</span> <span class="st_h">'xml_parser_get_option'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_set_option'</span><span class="sy0">,</span> <span class="st_h">'xml_parse_into_struct'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_character_data_handler'</span><span class="sy0">,</span> <span class="st_h">'xml_set_default_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_element_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_end_namespace_decl_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_notation_decl_handler'</span><span class="sy0">,</span> <span class="st_h">'xml_set_object'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_unparsed_entity_decl_handler'</span><span class="sy0">,</span> <span class="st_h">'yp_all'</span><span class="sy0">,</span> <span class="st_h">'yp_cat'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_errno'</span><span class="sy0">,</span> <span class="st_h">'yp_err_string'</span><span class="sy0">,</span> <span class="st_h">'yp_first'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'yp_get_default_domain'</span><span class="sy0">,</span> <span class="st_h">'yp_master'</span><span class="sy0">,</span> <span class="st_h">'yp_match'</span><span class="sy0">,</span> <span class="st_h">'yp_next'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_order'</span><span class="sy0">,</span> <span class="st_h">'zend_logo_guid'</span><span class="sy0">,</span> <span class="st_h">'zend_version'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'zlib_get_coding_type'</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>You can see that the index ‘KEYWORDS’ refers to an array of arrays, indexed by positive integers. In each array,
|
|
there are some keywords (in the actual php language file there is in fact many more keywords in the array indexed by 3).
|
|
Here are some points to note about these keywords:</p>
|
|
|
|
<ul>
|
|
<li><strong>Indexed by positive integers:</strong> Use nothing else! I may change this in 1.2.X, but for the 1.0.X series,
|
|
use positive integers only. Using strings here results in unnecessary overhead degrading performance when
|
|
highlighting code with your language file!</li>
|
|
<li><strong>Keywords sorted ascending:</strong> Keywords <em>should</em> be sorted in <em>ascending</em> order. This is mainly for
|
|
readability. An issue with versions before 1.0.8 has been solved, so the reverse sorting order
|
|
is no longer required and should thus be avoided. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself sorts the keywords internally when
|
|
building some of its caches, so the order doesn’t matter, but makes things easier to read and maintain.</li>
|
|
<li><strong>Keywords are case sensitive (sometimes):</strong> If your language is case-sensitive, the correct casing of the
|
|
keywords is defined as the case of the keywords in these keyword arrays. If you check the java language file you
|
|
will see that everything is in exact casing. So if any of these keyword arrays are case sensitive, put the
|
|
keywords in as their correct case! (note that which groups are case sensitive and which are not is configurable,
|
|
see later on). If a keyword group is case insensitive, put the lowercase version of the keyword here
|
|
<strong>OR</strong> in case documentation links require a special casing (other than all lowercase or all uppercase)
|
|
the casing required for them use their casing.</li>
|
|
<li><strong>Keywords must be in <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code> form:</strong> All keywords should be written as if they had been
|
|
run through the php function <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code>. E.g, the keyword is <code class="highlighted html4strict"><span class="sc1">&lt;</span>foo<span class="sc1">&gt;</span></code>, not
|
|
<code class="highlighted html4strict"><span class="sc2"><foo></span></code></li>
|
|
<li><strong>Don’t use keywords to highlight symbols:</strong> Just don’t!!! It doesn’t work, and there is seperate support
|
|
for symbols since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21.</li>
|
|
<li><strong>Markup Languages are special cases:</strong> Check the html4strict language file for an example: You need to tweak
|
|
the Parser control here to tell the surroundings of tagnames. In case of doubt, feel free to ask.</li>
|
|
</ul>
|
|
|
|
<h4 id="language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</h4><div class="nav"><a href="#language-file-keywords">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-styles">Next</a></div>
|
|
|
|
<p>So you’ve put all the keywords for your language in? Now for a breather before we style them :). Symbols define
|
|
what symbols your language uses. These are things like colons, brackets/braces, and other such general punctuation.
|
|
No alphanumeric stuff belongs here, just the same as no symbols belong into the keywords section.</p>
|
|
|
|
<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version 1.0.7.21 the symbols section can be used in two ways:</p>
|
|
|
|
<dl>
|
|
<dt>Flat usage:</dt>
|
|
<dd>This mode is the suggested way for existing language files and languages that only need few symbols where no
|
|
further differentiation is needed or desired. You simply put all the characters in an array under symbols as shown
|
|
in the first example below. All symbols in flat usage belong to symbol style group 0.</dd>
|
|
|
|
<dt>Group usage:</dt>
|
|
<dd>This is a slightly more enhanced way to provide <abbr title="Generic Syntax Highlighter">GeSHi</abbr> symbol information. To use group you create several subarrays
|
|
each containing only a subset of the symbols to highlight. Every array will need to have an unique index thus
|
|
you can assign the appropriate styles later.</dd>
|
|
</dl>
|
|
|
|
<p>Here’s an example for flat symbol usage</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
</pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="sy0">,</span> <span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="sy0">,</span> <span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">,</span> <span class="st_h">'>'</span></span></span><span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table>
|
|
|
|
<p>which is not too different from the newly introduced group usage shown below:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'&lt;'</span><span class="sy0">,</span> <span class="st_h">'>'</span><span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>Please note that versions before 1.0.7.21 will silently ignore this setting.</p>
|
|
|
|
<p>Also note that <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21 itself had some bugs in Symbol highlighting that could cause
|
|
heavily scrambled code output.</p>
|
|
|
|
</div>
|
|
|
|
<p>The following case sensitivity group alludes to the keywords section: here you can set which keyword groups are case sensitive.</p>
|
|
|
|
<p>In the <strong>‘CASE_SENSITIVE’</strong> group there’s a special key <code>GESHI_COMMENTS</code> which is used to set whether comments are
|
|
case sensitive or not (for example, BASIC has the REM statement which while not being case sensitive is still alphanumeric, and
|
|
as in the example given before about the Java language file using “import” as a single line comment, this can be
|
|
useful sometimes. <strong>true</strong> if comments are case sensitive, <strong>false</strong> otherwise. All of the other indices
|
|
correspond to indices in the <code>'KEYWORDS'</code> section (see above).</p>
|
|
|
|
<h4 id="language-file-styles">4.3.5 Styles for your Language File</h4><div class="nav"><a href="#language-file-symbols-case">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-urls">Next</a></div>
|
|
|
|
<p>This is the fun part! Here you get to choose the colours, fonts, backgrounds and anything else you’d like for your
|
|
language file.</p>
|
|
|
|
<p>Here’s an example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
<span class="xtra li2"><span class="de2">28</span></span>29
|
|
<span class="xtra li2"><span class="de2">30</span></span>31
|
|
<span class="xtra li2"><span class="de2">32</span></span>33
|
|
<span class="xtra li2"><span class="de2">34</span></span>35
|
|
<span class="xtra li2"><span class="de2">36</span></span>37
|
|
<span class="xtra li2"><span class="de2">38</span></span>39
|
|
</pre></td><td class="de1"><pre class="de1"><span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #000066;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'MULTI'</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #66cc66;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #ff0000;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #cc66cc;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #006600;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #66cc66;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">''</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table>
|
|
|
|
<p>Note that all style rules should end with a semi-colon! This is important: <abbr title="Generic Syntax Highlighter">GeSHi</abbr> may add extra rules to the rules you
|
|
specify (and will do so if a user tries to change your styles on the fly), so the last semi-colon in any stylesheet
|
|
rule is important!</p>
|
|
|
|
<p>All strings here should contain valid stylesheet declarations (it’s also fine to have the empty string).</p>
|
|
|
|
<ul>
|
|
<li><strong>‘KEYWORDS’:</strong> This is an array, from keyword index to style. The index you use is the index you used in
|
|
the keywords section to specify the keywords belonging to that group.</li>
|
|
<li><strong>‘COMMENTS’:</strong> This is an array, from single-line comment index to style for that index. The index ‘MULTI’ is
|
|
used for multiline comments (and cannot be an array). COMMENT_REGEXP use the style given for their key as
|
|
if they were single-line comments.</li>
|
|
<li><strong>‘ESCAPE_CHAR’, ‘BRACKETS’ and ‘METHODS’:</strong> These are arrays with only one index: 0. You cannot add other indices to
|
|
these arrays.</li>
|
|
<li><strong>‘STRINGS’:</strong> This defines the various styles for the Quotemarks you defined earlier. If you don’t use
|
|
multiple styles for strings there’s only one index: 0. Please also add this index in case no strings are present.</li>
|
|
<li><strong>‘NUMBERS’:</strong> This sets the styles used to highlight numbers. The format used here depends on the format used to
|
|
set the formats of numbers to highlight. If you just used an integer (bitmask) for numbers, you have to either
|
|
specify one key with the respective constant, and\or include a key 0 as a default style. If you used an
|
|
array for the number markup, copy the keys used there and assign the styles accordingly.</li>
|
|
<li><strong>‘SYMBOLS’:</strong> This provides one key for each symbol group you defined above. If you used the flat usage
|
|
make sure you include a key for symbols group 0.</li>
|
|
<li><strong>‘REGEXPS’:</strong> This is an array with a style for each matching regex. Also, since 1.0.7.21, you can specify the
|
|
name of a function to be called, that will be given the text matched by the regex, each time a match is found.
|
|
Note that my testing found that <code>create_function</code> would not work with this due to a <abbr title="PHP: HTML Preprocessor">PHP</abbr> bug, so you have to
|
|
put the function definition at the top of the language file. Be sure to prefix the function name
|
|
with <code>geshi_[languagename]_</code> as to not conflict with other functions!</li>
|
|
<li><strong>‘SCRIPT’:</strong> For languages that use script delimiters, this is where you can style each block of script. For
|
|
example, <abbr title="Hypertext Markup Language">HTML</abbr> and <abbr title="Extensible Markup Language">XML</abbr> have blocks that begin with < and end with > (i.e. tags) and blocks that begin with & and
|
|
end with ; (i.e. character entities), and you can set a style to apply to each whole block. You specify the
|
|
delimiters for the blocks below. Note that many languages will not need this feature.</li>
|
|
</ul>
|
|
|
|
<h4 id="language-file-urls">4.3.6 URLs for Functions</h4><div class="nav"><a href="#language-file-styles">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-numbers-support">Next</a></div>
|
|
|
|
<p>This section lets you specify a url to visit for each keyword group. Useful for pointing functions at their online
|
|
manual entries.</p>
|
|
|
|
<p>Here is an example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'http://www.php.net/{FNAME}'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>The indices of this array correspond to the keyword groups you specified in the keywords section. The string <code>{FNAME}</code>
|
|
marks where the name of the function is substituted in. So for the example above, if the keyword being highlighted is
|
|
“echo”, then the keyword will be a URL pointing to <code>http://www.php.net/echo</code>. Because some languages (Java!) don’t
|
|
keep a uniform URL for functions/classes, you may have trouble in creating a URL for that language (though look in the
|
|
java language file for a novel solution to it’s problem)</p>
|
|
|
|
<h4 id="language-file-numbers-support">4.3.7 Number Highlighting Support</h4><div class="nav"><a href="#language-file-urls">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-oo-support">Next</a></div>
|
|
|
|
<p>If your language supports different formats of numbers (e.g. integers and float representations) and you want
|
|
<abbr title="Generic Syntax Highlighter">GeSHi</abbr> to handle them differently you can select from a set of predefined formats.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_INT_CSTYLE <span class="sy0">|</span> GESHI_NUMBER_BIN_PREFIX_0B <span class="sy0">|</span></span></span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span> GESHI_NUMBER_FLT_NONSCI <span class="sy0">|</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_NUMBER_FLT_NONSCI_F <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_SHORT <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_ZERO<span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>All the formats you want <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to recognize are selected via a bitmask that is built by bitwise OR-ing the format constants.
|
|
When styling you use these constants to assign the proper styles. A style not assigned will automatically fallback to style group 0.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>For a complete list of formats supported by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> have a look into the sources of geshi.php.</p>
|
|
|
|
</div>
|
|
|
|
<p>If you want to define your own formats for numbers or when you want to group the style for two or more formats you can use the array syntax.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
</pre></td><td class="de1"><pre class="de1"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_INT_CSTYLE<span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> GESHI_NUMBER_BIN_PREFIX_0B<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> GESHI_NUMBER_OCT_PREFIX<span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> GESHI_NUMBER_HEX_PREFIX<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> GESHI_NUMBER_FLT_NONSCI <span class="sy0">|</span> GESHI_NUMBER_FLT_NONSCI_F <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_SHORT <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_ZERO</span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table>
|
|
|
|
<p>This creates 5 style groups 1..5 that will highlight each of the formats specified for each group.
|
|
Styling of these groups doesn’t use the constants but uses the indices you just defined.</p>
|
|
|
|
<p>Instead of using those predefined constants you also can assign a PCRE that matches a number when using this advanced format.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>The extended format hasn’t been exhaustively been tested. So beware of bugs there.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="language-file-oo-support">4.3.8 Object Orientation Support</h4><div class="nav"><a href="#language-file-numbers-support">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-regexps">Next</a></div>
|
|
|
|
<p>Now we’re reaching the most little-used section of a language file, which includes such goodies as object orientation
|
|
support and context support. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can highlight methods and data fields of objects easily, all you need to do is to
|
|
tell it to do so and what the “splitter” is between object/method etc.</p>
|
|
|
|
<p>Here’s an example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">'OBJECT_SPLITTER'</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>If your language has object orientation, the value of <code>'OOLANG'</code> is true, otherwise it is false. If it is object
|
|
orientated, in the <code>'OBJECT_SPLITTER'</code> value you put the <code>htmlentities()</code> version of the “splitter” between
|
|
objects and methods/fields. If it is not, then make this the empty string.</p>
|
|
|
|
<h4 id="language-file-regexps">4.3.9 Using Regular Expressions</h4><div class="nav"><a href="#language-file-oo-support">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-strict-mode">Next</a></div>
|
|
|
|
<p>Regular expressions are a good way to catch any other lexic that fits certain rules but can’t be listed as a keyword.
|
|
A good example is variables in <abbr title="PHP: HTML Preprocessor">PHP</abbr>: variables always start with either one or two “$” signs, then alphanumeric
|
|
characters (a simplification). This is easy to catch with regular expressions.</p>
|
|
|
|
<p>And new to version 1.0.2, there is an advanced way of using regular expressions to catch certain things but highlight
|
|
only part of those things. This is particularly useful for languages like <abbr title="Extensible Markup Language">XML</abbr>.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>Regular expressions use the PCRE syntax (perl-style), <em>not</em> the <code class="highlighted php"><span class="kw3">ereg</span><span class="br0">(</span><span class="br0">)</span></code> style!</p>
|
|
|
|
</div>
|
|
|
|
<p>Here is an example (this time the <abbr title="PHP: HTML Preprocessor">PHP</abbr> file merged with the <abbr title="Extensible Markup Language">XML</abbr> file):</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
</pre></td><td class="de1"><pre class="de1"><span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(((xml:)?[a-z\-]+))(=)'</span><span class="sy0">,</span></span></span> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">'\\4'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"><span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(>/?[a-z0-9]*(>)?)'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">''</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span><span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"</span></pre></td></tr></tbody></table>
|
|
|
|
<p>As you can see there are two formats. One is the “simple” format used in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> < 1.0.2, and the other is a more
|
|
advanced syntax. Firstly, the simple syntax:</p>
|
|
|
|
<ul>
|
|
<li><strong>May be in double quotes:</strong> To make it easier for those who always place their regular expressions in double quotes,
|
|
you may place any regular expression here in double quotes if you wish.</li>
|
|
<li><strong>Don’t use curly brackets where possible:</strong> If you want to use curly brackets (<code>()</code>) then by all means give it a try,
|
|
but I’m not sure whether under some circumstances <abbr title="Generic Syntax Highlighter">GeSHi</abbr> may throw a wobbly. You have been warned! If you want to
|
|
use brackets, it would be better to use the advanced syntax.</li>
|
|
<li><strong>Don’t use the “everything” regex:</strong> (That’s the <code>.*?</code> regex). Use advanced syntax instead.</li>
|
|
</ul>
|
|
|
|
<p>And now for advanced syntax, which gives you much more control over exactly what is highlighted:</p>
|
|
|
|
<ul>
|
|
<li><strong>GESHI_SEARCH:</strong> This element specifies the regular expression to search for. If you plan to capture the output,
|
|
use brackets (<code>()</code>). See how in the first example above, most of the regular expression is in one set of brackets
|
|
(with the equals sign in other brackets). You should make sure that the part of the regular expression that is
|
|
supposed to match what is highlighted is in brackets.</li>
|
|
<li><strong>GESHI_REPLACE:</strong> This is what the stuff matched by the regular expression will be replaced with. If you’ve
|
|
grouped the stuff you want highlighted into brackets in the GESHI_SEARCH element, then you can use <code>\\number</code>
|
|
to match that group, where <code>number</code> is a number corresponding to how many open brackets are between the open
|
|
bracket of the group you want highlighted and the start of the GESHI_SEARCH string + 1. This may sound confusing,
|
|
and it probably is, but if you’re familiar with how <abbr title="PHP: HTML Preprocessor">PHP</abbr>’s regular expressions work you should understand. In the
|
|
example above, the opening bracket for the stuff we want highlighted is the very first bracket in the string, so
|
|
the number of brackets before that bracket and the start of the string is 0. So we add 1 and get our replacement
|
|
string of <code>\\1</code> <small>(whew!)</small>.</li>
|
|
</ul>
|
|
|
|
<p>If you didn’t understand a word of that, make sure that there are brackets around the string in <code>GESHI_SEARCH</code>
|
|
and use <code>\\1</code> for <code>GESHI_REPLACE</code> ;)</p>
|
|
|
|
<ul>
|
|
<li><strong>GESHI_MODIFIERS:</strong> Specify modifiers for your regular expression. If your regular expression includes the
|
|
everything matcher (<code>.*?</code>), then your modifiers should include “s” and “i” (e.g. use ‘si’ for this).</li>
|
|
<li><strong>GESHI_BEFORE:</strong>Specifies a bracket group that should appear before the highlighted match (this bracketed group will
|
|
not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something
|
|
before what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li>
|
|
<li><strong>GESHI_AFTER:</strong>Specifies a bracket group that should appear after the highlighted match (this bracketed group will
|
|
not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something
|
|
after what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li>
|
|
</ul>
|
|
|
|
<p>Is that totally confusing? Here’s the test for if you’re an android or not: If you found that perfectly understandable
|
|
then you’re an android ;). Here’s a better example:</p>
|
|
|
|
<p>Let’s say that I’m making a language, and variables in this language always start with a dollar sign ($), are always
|
|
written in lowercase letters and always end with an ampersand (&). eg:</p>
|
|
|
|
<p><code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&</span> <span class="sy0">=</span> <span class="st_h">'bar'</span></code></p>
|
|
|
|
<p>I want to highlight <em>only the text between the $ and the &</em>. How do I do that? With simple regular expressions I can’t,
|
|
but with advanced, it’s relatively easy:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span></pre></td><td class="de1"><pre class="de1"><span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// search for a dollar sign, then one or more of the characters a-z, then an ampersand</span></span></span> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(\$)([a-z]+)(&)'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// we wanna highlight the characters, which are in the second bracketed group</span></span></span> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\2'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// no modifiers, since we're not matching the "anything" regex</span></span></span> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// before the highlighted characters should be the first</span></span></span> <span class="co1">// bracketed group (always a dollar sign in this example)</span>
|
|
<span class="xtra li2"><span class="de2"> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span> <span class="co1">// after the highlighted characters should be the third</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="co1">// bracketed group (always an ampersand in this example)</span></span></span> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">'\\3'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>So if someone tried to highlight using my language, all cases of <code>$foo&</code> would turn into:</p>
|
|
|
|
<p><code class="highlighted html4strict">$<span class="sc2"><<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">"color: blue;"</span>></span>foo<span class="sc2"><<span class="sy0">/</span><span class="kw2">span</span>><<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">"color: green;"</span>></span><span class="sc1">&amp;</span><span class="sc2"><<span class="sy0">/</span><span class="kw2">span</span>></span></code></p>
|
|
|
|
<p>(which would of course be viewed in a browser to get something like <code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&</span></code>)</p>
|
|
|
|
<h4 id="language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</h4><div class="nav"><a href="#language-file-regexps">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-parser-control">Next</a></div>
|
|
|
|
<p>For languages like <abbr title="Hypertext Markup Language">HTML</abbr>, it’s good if we can highlight a tag (like <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">a</span>></span></code> for example). But how do we stop
|
|
every single “a” in the source getting highlighted? What about for attributes? If I’ve got the word “colspan” in my
|
|
text I don’t want that highlighted! So how do you tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> not to highlight in that case? You do it with “Strict Blocks”.</p>
|
|
|
|
<p>Here is an example:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span>13
|
|
<span class="xtra li2"><span class="de2">14</span></span>15
|
|
<span class="xtra li2"><span class="de2">16</span></span>17
|
|
<span class="xtra li2"><span class="de2">18</span></span>19
|
|
<span class="xtra li2"><span class="de2">20</span></span>21
|
|
<span class="xtra li2"><span class="de2">22</span></span>23
|
|
<span class="xtra li2"><span class="de2">24</span></span>25
|
|
<span class="xtra li2"><span class="de2">26</span></span>27
|
|
</pre></td><td class="de1"><pre class="de1"><span class="sy1"><?</span> <span class="coMULTI">/* ... */</span>
|
|
<span class="xtra li2"><span class="de2"><span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=></span> GESHI_MAYBE<span class="sy0">,</span></span></span><span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<?php'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'<?'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<%'</span> <span class="sy0">=></span> <span class="st_h">'%>'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'<script language="php">'</span> <span class="sy0">=></span> <span class="st_h">'</script>'</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"/(<\?(?:php)?)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm"</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"/(<%)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span><span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="kw4">true</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span><span class="coMULTI">/* ... */</span> <span class="sy1">?></span></pre></td></tr></tbody></table>
|
|
|
|
<p>What is strict mode? Strict mode says that highlighting only occurs inside the blocks you specify. You can see from
|
|
the example above that highlighting will only occur if the source is inside <code class="highlighted php"><span class="kw2"><?php</span> <span class="sy0">...</span> <span class="sy1">?></span></code> (though note the
|
|
<code>GESHI_MAYBE</code>!). Here are some points about strict highlighting:</p>
|
|
|
|
<ul>
|
|
<li><strong>‘STRICT_MODE_APPLIES’:</strong> This takes three values (all constants):
|
|
|
|
<ul>
|
|
<li><code>GESHI_ALWAYS</code>: Strict mode always applies for all of the blocks you specify. Users of your language
|
|
file cannot turn strict mode off. This should be used for markup languages.</li>
|
|
<li><code>GESHI_NEVER</code>: Strict mode is never used. Users of your language file cannot turn strict mode on. Use this
|
|
value if there is no such thing as a block of code that would not be highlighted in your language
|
|
(most languages, like C, Java etc. use this because anything in a C file should be highlighted).</li>
|
|
<li><code>GESHI_MAYBE</code>: Strict mode *sometimes* applies. It defaults to “off”. Users can turn strict mode on if
|
|
they please. If strict mode is off then everything in the source will be highlighted, even things outside
|
|
the strict block markers. If strict mode is on then nothing outside strict block markers will be highlighted.</li>
|
|
</ul></li>
|
|
<li><strong>‘SCRIPT_DELIMITERS’:</strong> This is an array of script delimiters, in the format of the above. The indices are use in the
|
|
‘SCRIPT’ part of the styles section for highlighting everything in a strict block in a certain way.
|
|
For example, you could set up your language file to make the background yellow of any code inside a strict
|
|
block this way. The delimiters are in the form <code class="highlighted php"><span class="st_h">'OPEN'</span> <span class="sy0">=></span> <span class="st_h">'CLOSE'</span></code>. Delimiters can be of any
|
|
length > 0. Delimiters are <em>not</em> formatted as if they were run through <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code>!</li>
|
|
<li><strong>‘HIGHLIGHT_STRICT_BLOCK’:</strong> specifies whether any highlighting should go on inside each block. Most of
|
|
the time this should be true, but for example, in the <abbr title="Extensible Markup Language">XML</abbr> language file highlighting is turned off for
|
|
blocks beginning with <code class="highlighted html4strict"><span class="sc0"><!DOCTYPE</span></code> and ending with <code class="highlighted html4strict">></code>. However, you can still
|
|
style the overall block using the method described above, and the <abbr title="Extensible Markup Language">XML</abbr> language file does just that.</li>
|
|
</ul>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>The delimiters should be in <em>reverse alphabetical order</em>. Note that in the above example, <code class="highlighted php"><span class="kw2"><?php</span></code>
|
|
comes before <code class="highlighted php"><span class="sy1"><?</span></code>.</p>
|
|
|
|
</div>
|
|
|
|
<p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 instead of specifying an array with starter and ender you may also provide a regular expression
|
|
that matches <em>the full block</em> you wish to highlight. If the regular expression match starts at the same position
|
|
as a previous array declaration the Regexp match is taken. This is to allow for a fall-back when a preg_match
|
|
doesn’t quite work as expected so you still get reasonably well results.</p>
|
|
|
|
<p>If you didn’t get this, you might want to look into the <abbr title="PHP: HTML Preprocessor">PHP</abbr> or <abbr title="Hypertext Markup Language">HTML</abbr> language files as this feature is used there
|
|
to fix some issues that have been there for about 3 years.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>For <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions <4.3.3 Strict Block Regexps are completely ignored due to problems in those version
|
|
that would cause loads of warning messages otherwise.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</h4><div class="nav"><a href="#language-file-strict-mode">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-tidying-up">Next</a></div>
|
|
|
|
<p>Sometimes it is necessary for a language to render correctly to tweak some of the assumptions <abbr title="Generic Syntax Highlighter">GeSHi</abbr> usually makes to match the behaviour your language expects.
|
|
To achieve this there is an experimental section called <code class="highlighted php"><span class="st_h">'PARSER_CONTROL'</span></code> which is optional and should be used only if necessary.
|
|
With the help of this section some internal parameters of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can be set which are not overrideable by the API and thus their use should be limited as much as possible.</p>
|
|
|
|
<p>The syntax of the <strong>PARSER_CONTROL</strong> basically resembles an array structure simular to the one found in the rest of the language file. All subsections of the <strong>PARSER_CONTROL</strong> are optional.
|
|
If a given setting isn’t present the usual default values of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are used.
|
|
No validation of settings is performed for these settings. Also note that unknown settings are silently ignored.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>All <strong>PARSER_CONTROL</strong> settings are experimental and subject to change.
|
|
So if you need a special setting in a public language file you should consider requesting it upstream.
|
|
This is also the reason why documentation on these settings will only cover broad usage information as the underlying implementation might change without further notice.</p>
|
|
|
|
</div>
|
|
|
|
<p>One of the most common reasons why you might want to use the <strong>PARSER_CONTROL</strong> settings is to tweak what characters are allowed to surround a keyword.
|
|
Usually <abbr title="Generic Syntax Highlighter">GeSHi</abbr> checks for a fixed set of characters like brackets and common symbols that denote the word boundary for a keyword.
|
|
If this set conflicts with your language (e.g. - is allowed inside a keyword) or you want to limit the usage of a keyword to certain areas (e.g. for <abbr title="Hypertext Markup Language">HTML</abbr> tag names only match after <) you can change those conditions here.</p>
|
|
|
|
<p>Keyword boundary rules can either be set globally (directly within the PARSER_CONTROL’s KEYWORDS section or on a per-group basis.
|
|
E.g. the following sample from the <abbr title="Hypertext Markup Language">HTML</abbr> language file sets different settings for keyword matching only for Keyword Group 2 and leaves the other groups alone.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">'(?<=&lt;|&lt;\/)'</span><span class="sy0">,</span></span></span> <span class="st_h">'DISALLOWED_AFTER'</span> <span class="sy0">=></span> <span class="st_h">'(?=\s|\/|&gt;)'</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>The name <code class="highlighted php"><span class="st_h">'DISALLOWED_BEFORE'</span></code> and <code class="highlighted php"><span class="st_h">'DISALLOWED_AFTER'</span></code> might sound confusing at first, since they don’t define what to prevent, but what to match in order to find a keyword.
|
|
The reason for this strange naming is based in the original implementation of this feature when Nigel implemented this in the old parser statically.
|
|
When this implementation was brought out via the <strong>PARSER_CONTROL</strong> settings the original naming wasn’t altered since at that time this really was a blacklist of characters.
|
|
Later on this implementation was changed from a blacklist of characters to a part of a PCRE regexp, but leaving the name.
|
|
The naming might be subject to change though.</p>
|
|
|
|
</div>
|
|
|
|
<p>Another option you can change since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8.3 is whether to treat spaces within keywords as literals (only a single space as given) or if the space should match any whitespace at that location.
|
|
The following code will enable this behaviour for the whole keyword set. As said above you can choose to enable this for single keyword groups only though.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
</pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'SPACE_AS_WHITESPACE'</span> <span class="sy0">=></span> <span class="kw4">true</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table>
|
|
|
|
<p>Another option of interest might be disabling certain features for a given language.
|
|
This might come in handy if the language file you are working on doesn’t support a given function or highlighting certain aspects won’t work properly or would interfere with custom implementations using regular expressions.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
<span class="xtra li2"><span class="de2">8</span></span>9
|
|
<span class="xtra li2"><span class="de2">10</span></span>11
|
|
<span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ENABLE_FLAGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'ALL'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="br0">)</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table>
|
|
|
|
<p>Inside the <code class="highlighted php"><span class="st_h">'ENABLE_FLAGS'</span></code> section follows an array of <code class="highlighted php"><span class="st_h">'name'</span><span class="sy0">=></span>value</code> pairs.
|
|
Valid names are the sections below the <code class="highlighted php"><span class="st_h">'STYLES'</span></code> section (well, not exactly, but you can look there for what the features are called inside <abbr title="Generic Syntax Highlighter">GeSHi</abbr>).
|
|
Valid values are the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants <code class="highlighted php">GESHI_NEVER</code> (don’t process this feature), <code class="highlighted php">GESHI_ALWAYS</code> (always process this feature, ignore the user) and <code class="highlighted php">GESHI_MAYBE</code> (listen to the user if he want’s this highlighted).
|
|
The value <code class="highlighted php">GESHI_MAYBE</code> is the default one and thus needs not to be set explicitely.</p>
|
|
|
|
<p>Another setting available through the <strong>PARSER_CONTROL</strong> settings is the possibility to limit the allowed characters before an single line comment.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
</pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">'$'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table>
|
|
|
|
<p>With the current implementation the DISALLOWED_BEFORE COMMENT-specific setting is a list of characters. But this is subject to change.</p>
|
|
|
|
<div class="note">
|
|
|
|
<div class="note-header">Note:</div>
|
|
|
|
<p>There is no <code class="highlighted php"><span class="st_h">'DISALLOWED_AFTER'</span></code> setting with the <code class="highlighted php"><span class="st_h">'COMMENTS'</span></code>-<strong>PARSER_CONTROL</strong>.</p>
|
|
|
|
</div>
|
|
|
|
<p>Another <strong>PARSER_CONTROL</strong> setting for the environment around certain syntactic constructs refers to the handling of object-oriented languages.</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
<span class="xtra li2"><span class="de2">4</span></span>5
|
|
<span class="xtra li2"><span class="de2">6</span></span>7
|
|
</pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'MATCH_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="st_h">'MATCH_AFTER'</span> <span class="sy0">=></span> <span class="st_h">'[a-zA-Z_][a-zA-Z0-9_]*'</span><span class="sy0">,</span></span></span> <span class="st_h">'MATCH_SPACES'</span> <span class="sy0">=></span> <span class="st_h">'[\s]*'</span>
|
|
<span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>Please note that the settings discussed in this section are experimental and might be changed, removed or altered in their meaning at any time.</p>
|
|
|
|
</div>
|
|
|
|
<h4 id="language-file-tidying-up">4.3.12 Tidying Up</h4><div class="nav"><a href="#language-file-parser-control">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#lang-validation">Next</a></div>
|
|
|
|
<p>All language files should end with:</p>
|
|
|
|
<table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1
|
|
<span class="xtra li2"><span class="de2">2</span></span>3
|
|
</pre></td><td class="de1"><pre class="de1"><span class="br0">)</span><span class="sy0">;</span>
|
|
<span class="xtra li2"><span class="de2"> </span></span><span class="sy1">?></span></pre></td></tr></tbody></table>
|
|
|
|
<p>That is the string content <code class="highlighted php"><span class="st0">"<span class="es1">\n</span>);<span class="es1">\n</span>?><span class="es1">\n</span>"</span></code>.</p>
|
|
|
|
<div class="caution">
|
|
|
|
<div class="caution-header">Caution:</div>
|
|
|
|
<p>Make sure that there is EXACTLY one linebreak character at the end. If you accidentially include more
|
|
you might end up with messages like “Headers already sent”.</p>
|
|
|
|
</div>
|
|
|
|
<h3 id="lang-validation">4.4 Validating your language file</h3><div class="nav"><a href="#language-file-tidying-up">Previous</a> | <a href="#language-files">Top</a> | <a href="#method-constant-reference">Next</a></div>
|
|
|
|
<p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 there is a new script <code>langcheck.php</code> in the contrib directory that scans all
|
|
language files it finds in the geshi/ subdirectory of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> installation for mistakes.</p>
|
|
|
|
<p>Please make sure that your language does not contain any mistakes that this script shows you when sending in
|
|
your language file for inclusion into the official release as this saves work for us when including your file.
|
|
Also you can be sure your language file will work as expected once your language file validates correctly.</p>
|
|
|
|
<p>Please note that not all of the language files shipped with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are fully valid yet, but we’re working on it
|
|
and are happy about every patch we get!</p>
|
|
|
|
<h2 id="method-constant-reference">5 Method/Constant Reference</h2><div class="nav"><a href="#lang-validation">Previous</a></div>
|
|
|
|
<p>I’m afraid I have been lying for a little while about this now! Since 1.0.7 I have been including a phpdoc API for
|
|
the sourcecode in the <a href="api/index.html">api</a> directory, but have forgot to update the documentation! However, it is available,
|
|
and may assist you in coding, especially for plugin coders.</p>
|
|
|
|
<hr />
|
|
|
|
<p>That’s all, folks!</p>
|
|
|
|
<p>I’ve improved the documentation greatly from version 1.0.1, but there may still be problems with it, or it may still
|
|
be confusing for you. Or perhaps I was just plain wrong about one point! If so, contact me and I’ll do my best to sort it out.</p>
|
|
|
|
<p>In case you were wondering, I’ve finished development of the 1.0.X thread of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. The only releases I’ll make in this
|
|
thread will be of the bug-fix/add language files type. In particular, version 1.0.2 was a “concept” release - testing
|
|
how far I could take the highlighting idea (as well as ideas from others).</p>
|
|
|
|
<p>I’m planning a code rewrite for 1.2.X, which will be based on a new engine - a “psuedo-tokenizer” engine. Hopefully
|
|
it will massively reduce the server load and time taken (by almost eliminating regexps), while providing
|
|
superior highlighting. But fear not! The interface and method names should all remain the same ^_^ (though I can’t
|
|
say the same for language files!)</p>
|
|
|
|
<p>And finally, a couple of people have been asking me: how did you generate that documentation? The amazing answer is: my
|
|
brain. And yes, it took a long time, and I don’t recommend doing it this way. And yes, you can borrow the styles if
|
|
you like, though flick me an e-mail if you do.</p>
|
|
|
|
<p>Anyway, enough blather from me. Get <abbr title="Generic Syntax Highlighter">GeSHi</abbr> working for you already! :D</p>
|
|
|
|
<div class="header">
|
|
|
|
<dl>
|
|
<dt>Authors:</dt>
|
|
<dd>© 2004 - 2007 <a href="mailto:nigel@geshi.org">Nigel McNie</a></dd>
|
|
|
|
<dd>© 2007 - 2008 <a href="mailto:BenBE@omorphia.de">Benny Baumann</a></dd>
|
|
|
|
<dd>© 2008 <a href="mailto:mail@milianw.de">Milian Wolff</a></dd>
|
|
|
|
<dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt>
|
|
<dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
<div class="footnotes">
|
|
<hr />
|
|
<ol>
|
|
|
|
<li id="fn:xhtml-strict">
|
|
<p>The PRE header (see <a href="#the-code-container">The Code Container</a>) is not valid <abbr title="Hypertext Markup Language">HTML</abbr>, you might want
|
|
to use one of the other header types instead. <a href="#fnref:xhtml-strict" rev="footnote">↩</a></p>
|
|
</li>
|
|
|
|
<li id="fn:php-version-note">
|
|
<p>Support is granted for <abbr title="PHP: HTML Preprocessor">PHP</abbr> 4.3.0 and above, but especially 4.3.x cannot be guaranteed to
|
|
work due to a lack of test systems. If you are forced to use such old <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions complain at your hoster or
|
|
contact us if you find compatibility issues so we can try to resolve them. It’s only <abbr title="PHP: HTML Preprocessor">PHP</abbr> 4.4.X and above that
|
|
is verified to work. <a href="#fnref:php-version-note" rev="footnote">↩</a></p>
|
|
</li>
|
|
|
|
<li id="fn:phpbb-note">
|
|
<p>I am no longer working on this MOD, however if someone else wants to they can contact me for more
|
|
information. <a href="#fnref:phpbb-note" rev="footnote">↩</a></p>
|
|
</li>
|
|
|
|
<li id="fn:plugin-only">
|
|
<p>Available as plugin only. In addition, some of the other entries mentioned
|
|
here may only have <abbr title="Generic Syntax Highlighter">GeSHi</abbr> available as a plugin. <a href="#fnref:plugin-only" rev="footnote">↩</a></p>
|
|
</li>
|
|
|
|
</ol>
|
|
</div>
|
|
</body>
|
|
</html> |