• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4    <head>
5        <title>GeSHi Documentation 1.0.8.3</title>
6
7    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8    	<meta name="keywords" content="GeSHi, syntax, highlighter, colorizer, beautifier, code, generic, php, sql, css, html, syntax, highlighting, documentation" />
9    	<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!" />
10
11        <style type="text/css">
12            html {
13                background-color: #e6e6e6;
14            }
15            body {
16                font-family: Verdana, Arial, sans-serif;
17                margin: 10px;
18                border: 2px solid #d0d0d0;
19                background-color: #f6f6f6;
20                padding: 10px;
21            }
22            p, ul, ol, div, blockquote, dt, dd {
23                font-size: 80%;
24                line-height: 140%;
25                letter-spacing: 1px;
26                color: #002;
27            }
28            dt {
29                font-weight: bold;
30            }
31            acronym {
32                border-bottom: 1px dotted #303030;
33                cursor: help;
34            }
35            blockquote {
36                font-weight: bold;
37            }
38            pre, .geshicode {
39                border: 1px solid #c0e6ff;
40                background-color: #e0e8ef;
41                color: #002;
42                margin:0;
43                font-size: 12px;
44                width:100%;
45            }
46            table {
47                border-collapse:collapse;
48            }
49            .geshicode pre {
50                border:none;
51                background-color:inherit;
52                font-weight:bold;
53            }
54            .geshicode .li2 td {
55                background-color:#eee;
56            }
57            .geshicode .li1 td {
58                background-color:#fff;
59            }
60            .geshicode td td {
61                padding:0 2px;
62            }
63            .geshicode td, .geshicode table {
64                width: 100%;
65            }
66            .geshicode td.ln {
67                border-right:2px solid #e0e8ef;
68            }
69            .geshicode .head {
70                text-align:center;
71                font-weight:bold;
72            }
73            code, tt, kbd {
74                font-size: 125%;
75                font-weight:normal;
76            }
77            hr {
78                height: 0;
79                border: none;
80                border-top: 1px dotted #404040;
81                width: 75%;
82            }
83            var {
84                color: blue; font-style: normal; font-family: monospace;
85            }
86            li {
87                padding-top: 2px;
88            }
89            ul ul, ol ol, div ul, div ol {
90                font-size:100%;
91            }
92            .note {
93                border: 1px solid yellow;
94                background-color: #ffc;
95                color: #220;
96                padding: 5px;
97                margin: 1em 0 0 .75em;
98            }
99            .caution {
100                border: 6px double red;
101                background-color: #fcc;
102                color: #200;
103                padding: 5px;
104                margin: 1em 0 0 .75em;
105            }
106            .caution p:first-child, .note p:first-child {
107                margin-top: 0;
108            }
109            .caution-header {
110                border: 1px solid red;
111                border-width: 1px 2px 2px 1px;
112                margin-top: -1.6em;
113                background-color: #fcc;
114                width: 10%;
115                font-weight: bold;
116                text-align: center;
117                color: #600;
118            }
119            .note-header {
120                border: 1px solid #ff0;
121                border-width: 1px 2px 2px 1px;
122                margin-top: -1.2em;
123                background-color: #ffc;
124                width: 10%;
125                font-weight: bold;
126                text-align: center;
127                color: #660;
128            }
129            .nav {
130                font-size: 70%;
131            }
132            .nav a {
133                color: #707070;
134                border: 1px solid #a0a0a0;
135                border-width: 0 1px 1px 1px;
136                border-top: 1px dotted #c0c0c0;
137                text-decoration: none;
138                padding: 1px 2px;
139                background-color: #e0e0e0;
140                -moz-border-radius-bottomleft: 3px;
141                -moz-border-radius-bottomright: 3px;
142            }
143            h1, #contents {
144                margin-top: 0;
145                margin-bottom: 0;
146                text-align: center;
147                color: #404060;
148            }
149            #contents {
150                text-align:left;
151                background:none;
152                border:none;
153            }
154            h2 {
155                border-bottom: 1px dotted #b0b0b0;
156                margin-top: 2em;
157                border-top: 1px dotted #b0b0b0;
158                background-color: #ddd;
159                margin-bottom: 0;
160            }
161            h3 {
162                margin-top: 1.6em;
163                border-bottom: 1px dotted #c0c0c0;
164                margin-bottom: 0;
165            }
166            h4 {
167                border-bottom: 1px dotted #d0d0d0;
168                margin-top: 1.2em;
169                margin-bottom: 0;
170            }
171            h2, h3, h4 {
172                color: #707070;
173                font-weight: normal;
174            }
175            a {
176                color: #7777ff;
177            }
178            sup a {
179                text-decoration: none;
180            }
181            abbr {
182                cursor: help;
183            }
184            .header p {
185                text-align: center;
186                border-bottom: 1px dotted #d0d0d0;
187            }
188
189            .header dl {
190                background-color: #e0e8ef;
191                color: #002;
192                padding: 5px;
193            }
194
195            .header img {
196                float: right;
197                margin:2.5em 1em 0 0;
198            }
199
200            /**
201 * GeSHi Dynamically Generated Stylesheet
202 * --------------------------------------
203 * Dynamically generated stylesheet for bash
204 * CSS class: , CSS id:
205 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
206 * (http://qbnz.com/highlighter/ and http://geshi.org/)
207 * --------------------------------------
208 */
209.bash .de1, .bash .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
210.bash  {font-family:monospace;}
211.bash .imp {font-weight: bold; color: red;}
212.bash li, .bash .li1 {font-weight: normal; vertical-align:top;}
213.bash .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
214.bash .li2 {font-weight: bold; vertical-align:top;}
215.bash .kw1 {color: #000000; font-weight: bold;}
216.bash .kw2 {color: #c20cb9; font-weight: bold;}
217.bash .kw3 {color: #7a0874; font-weight: bold;}
218.bash .co0 {color: #666666; font-style: italic;}
219.bash .co1 {color: #800000;}
220.bash .co2 {color: #cc0000; font-style: italic;}
221.bash .co3 {color: #000000; font-weight: bold;}
222.bash .es1 {color: #000099; font-weight: bold;}
223.bash .es2 {color: #007800;}
224.bash .es3 {color: #007800;}
225.bash .es4 {color: #007800;}
226.bash .es5 {color: #780078;}
227.bash .es_h {color: #000099; font-weight: bold;}
228.bash .br0 {color: #7a0874; font-weight: bold;}
229.bash .sy0 {color: #000000; font-weight: bold;}
230.bash .st0 {color: #ff0000;}
231.bash .st_h {color: #ff0000;}
232.bash .nu0 {color: #000000;}
233.bash .re0 {color: #007800;}
234.bash .re1 {color: #007800;}
235.bash .re2 {color: #007800;}
236.bash .re4 {color: #007800;}
237.bash .re5 {color: #660033;}
238.bash .ln-xtra, .bash li.ln-xtra, .bash div.ln-xtra {background-color: #ffc;}
239.bash span.xtra { display:block; }
240
241/**
242 * GeSHi Dynamically Generated Stylesheet
243 * --------------------------------------
244 * Dynamically generated stylesheet for php
245 * CSS class: , CSS id:
246 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
247 * (http://qbnz.com/highlighter/ and http://geshi.org/)
248 * --------------------------------------
249 */
250.php .de1, .php .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
251.php  {font-family:monospace;}
252.php .imp {font-weight: bold; color: red;}
253.php li, .php .li1 {font-weight: normal; vertical-align:top;}
254.php .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
255.php .li2 {font-weight: bold; vertical-align:top;}
256.php .kw1 {color: #b1b100;}
257.php .kw2 {color: #000000; font-weight: bold;}
258.php .kw3 {color: #990000;}
259.php .kw4 {color: #009900; font-weight: bold;}
260.php .co1 {color: #666666; font-style: italic;}
261.php .co2 {color: #666666; font-style: italic;}
262.php .co3 {color: #0000cc; font-style: italic;}
263.php .co4 {color: #009933; font-style: italic;}
264.php .coMULTI {color: #666666; font-style: italic;}
265.php .es0 {color: #000099; font-weight: bold;}
266.php .es1 {color: #000099; font-weight: bold;}
267.php .es2 {color: #660099; font-weight: bold;}
268.php .es3 {color: #660099; font-weight: bold;}
269.php .es4 {color: #006699; font-weight: bold;}
270.php .es5 {color: #006699; font-weight: bold; font-style: italic;}
271.php .es6 {color: #009933; font-weight: bold;}
272.php .es_h {color: #000099; font-weight: bold;}
273.php .br0 {color: #009900;}
274.php .sy0 {color: #339933;}
275.php .sy1 {color: #000000; font-weight: bold;}
276.php .st0 {color: #0000ff;}
277.php .st_h {color: #0000ff;}
278.php .nu0 {color: #cc66cc;}
279.php .nu8 {color: #208080;}
280.php .nu12 {color: #208080;}
281.php .nu19 {color:#800080;}
282.php .me1 {color: #004000;}
283.php .me2 {color: #004000;}
284.php .re0 {color: #000088;}
285.php .ln-xtra, .php li.ln-xtra, .php div.ln-xtra {background-color: #ffc;}
286.php span.xtra { display:block; }
287
288/**
289 * GeSHi Dynamically Generated Stylesheet
290 * --------------------------------------
291 * Dynamically generated stylesheet for html4strict
292 * CSS class: , CSS id:
293 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
294 * (http://qbnz.com/highlighter/ and http://geshi.org/)
295 * --------------------------------------
296 */
297.html4strict .de1, .html4strict .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
298.html4strict  {font-family:monospace;}
299.html4strict .imp {font-weight: bold; color: red;}
300.html4strict li, .html4strict .li1 {font-weight: normal; vertical-align:top;}
301.html4strict .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
302.html4strict .li2 {font-weight: bold; vertical-align:top;}
303.html4strict .kw2 {color: #000000; font-weight: bold;}
304.html4strict .kw3 {color: #000066;}
305.html4strict .es0 {color: #000099; font-weight: bold;}
306.html4strict .br0 {color: #66cc66;}
307.html4strict .sy0 {color: #66cc66;}
308.html4strict .st0 {color: #ff0000;}
309.html4strict .nu0 {color: #cc66cc;}
310.html4strict .sc-1 {color: #808080; font-style: italic;}
311.html4strict .sc0 {color: #00bbdd;}
312.html4strict .sc1 {color: #ddbb00;}
313.html4strict .sc2 {color: #009900;}
314.html4strict .ln-xtra, .html4strict li.ln-xtra, .html4strict div.ln-xtra {background-color: #ffc;}
315.html4strict span.xtra { display:block; }
316
317/**
318 * GeSHi Dynamically Generated Stylesheet
319 * --------------------------------------
320 * Dynamically generated stylesheet for css
321 * CSS class: , CSS id:
322 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
323 * (http://qbnz.com/highlighter/ and http://geshi.org/)
324 * --------------------------------------
325 */
326.css .de1, .css .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
327.css  {font-family:monospace;}
328.css .imp {font-weight: bold; color: red;}
329.css li, .css .li1 {font-weight: normal; vertical-align:top;}
330.css .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
331.css .li2 {font-weight: bold; vertical-align:top;}
332.css .kw1 {color: #000000; font-weight: bold;}
333.css .kw2 {color: #993333;}
334.css .co1 {color: #a1a100;}
335.css .co2 {color: #ff0000; font-style: italic;}
336.css .coMULTI {color: #808080; font-style: italic;}
337.css .es0 {color: #000099; font-weight: bold;}
338.css .br0 {color: #00AA00;}
339.css .sy0 {color: #00AA00;}
340.css .st0 {color: #ff0000;}
341.css .nu0 {color: #cc66cc;}
342.css .re0 {color: #cc00cc;}
343.css .re1 {color: #6666ff;}
344.css .re2 {color: #3333ff;}
345.css .re3 {color: #933;}
346.css .ln-xtra, .css li.ln-xtra, .css div.ln-xtra {background-color: #ffc;}
347.css span.xtra { display:block; }
348
349/**
350 * GeSHi Dynamically Generated Stylesheet
351 * --------------------------------------
352 * Dynamically generated stylesheet for java
353 * CSS class: , CSS id:
354 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
355 * (http://qbnz.com/highlighter/ and http://geshi.org/)
356 * --------------------------------------
357 */
358.java .de1, .java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
359.java  {font-family:monospace;}
360.java .imp {font-weight: bold; color: red;}
361.java li, .java .li1 {font-weight: normal; vertical-align:top;}
362.java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
363.java .li2 {font-weight: bold; vertical-align:top;}
364.java .kw1 {color: #000000; font-weight: bold;}
365.java .kw2 {color: #000066; font-weight: bold;}
366.java .kw3 {color: #003399;}
367.java .kw4 {color: #000066; font-weight: bold;}
368.java .co1 {color: #666666; font-style: italic;}
369.java .co2 {color: #006699;}
370.java .co3 {color: #008000; font-style: italic; font-weight: bold;}
371.java .coMULTI {color: #666666; font-style: italic;}
372.java .es0 {color: #000099; font-weight: bold;}
373.java .br0 {color: #009900;}
374.java .sy0 {color: #339933;}
375.java .st0 {color: #0000ff;}
376.java .nu0 {color: #cc66cc;}
377.java .me1 {color: #006633;}
378.java .me2 {color: #006633;}
379.java .ln-xtra, .java li.ln-xtra, .java div.ln-xtra {background-color: #ffc;}
380.java span.xtra { display:block; }
381
382
383        </style>
384    </head>
385    <body>
386    <h1 id="top"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Documentation</h1>
387
388<div class="header">
389
390<p>Version 1.0.8.3</p>
391
392<p><img src="http://qbnz.com/highlighter/images/geshi.png" alt="The GeSHi Logo" /></p>
393
394<dl>
395<dt>Authors:</dt>
396<dd>&copy; 2004 - 2007&#160;<a href="mailto:nigel@geshi.org">Nigel McNie</a></dd>
397
398<dd>&copy; 2007 - 2009&#160;<a href="mailto:BenBE@omorphia.de">Benny Baumann</a></dd>
399
400<dd>&copy; 2008 - 2009&#160;<a href="mailto:mail@milianw.de">Milian Wolff</a></dd>
401
402<dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt>
403<dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd>
404</dl>
405
406</div>
407
408<p>This is the documentation for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - Generic Syntax Highlighter.</p>
409
410<p>The most modern version of this document is available on the web -
411go to <a href="http://qbnz.com/highlighter/documentation.php">http://qbnz.com/highlighter/documentation.php</a> to view it.</p>
412
413<p>Any comments, questions, confusing points? Please <a href="#feedback">get in contact</a> with the developers! We
414need 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)
415a breeze.</p>
416
417<h2 id="contents">Contents</h2>
418
419<div id="toc"><ul>
420<li><a href="#introduction">1 Introduction</a><ul>
421<li><a href="#features">1.1 Features</a></li>
422<li><a href="#about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
423<li><a href="#credits">1.3 Credits</a></li>
424<li><a href="#feedback">1.4 Feedback</a></li>
425</ul></li>
426<li><a href="#the-basics">2 The Basics</a><ul>
427<li><a href="#getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</a><ul>
428<li><a href="#requirements">2.1.1 Requirements</a></li>
429<li><a href="#downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
430<li><a href="#extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
431<li><a href="#installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li>
432</ul></li>
433<li><a href="#basic-usage">2.2 Basic Usage</a></li>
434</ul></li>
435<li><a href="#advanced-features">3 Advanced Features</a><ul>
436<li><a href="#the-code-container">3.1 The Code Container</a></li>
437<li><a href="#line-numbers">3.2 Line Numbers</a><ul>
438<li><a href="#enabling-line-numbers">3.2.1 Enabling Line Numbers</a></li>
439<li><a href="#styling-line-numbers">3.2.2 Styling Line Numbers</a></li>
440<li><a href="#starting-line-numbers">3.2.3 Choosing a Start Number</a></li>
441</ul></li>
442<li><a href="#using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a><ul>
443<li><a href="#enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a></li>
444<li><a href="#setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</a></li>
445<li><a href="#getting-stylesheet">3.3.3 Getting the stylesheet for your code</a></li>
446<li><a href="#using-an-external-stylesheet">3.3.4 Using an External Stylesheet</a></li>
447</ul></li>
448<li><a href="#changing-styles">3.4 Changing Styles</a><ul>
449<li><a href="#the-overall-styles">3.4.1 The Overall Styles</a></li>
450<li><a href="#line-number-styles">3.4.2 Line Number Styles</a></li>
451<li><a href="#setting-keyword-styles">3.4.3 Setting Keyword Styles</a></li>
452<li><a href="#setting-comment-styles">3.4.4 Setting Comment Styles</a></li>
453<li><a href="#setting-other-styles">3.4.5 Setting Other Styles</a></li>
454</ul></li>
455<li><a href="#case-caps">3.5 Case Sensitivity and Auto Casing</a><ul>
456<li><a href="#auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</a></li>
457<li><a href="#setting-case-sensitivity">3.5.2 Setting Case Sensitivity</a></li>
458</ul></li>
459<li><a href="#changing-config">3.6 Changing the Source, Language, Config Options</a><ul>
460<li><a href="#changing-the-source">3.6.1 Changing the Source Code</a></li>
461<li><a href="#changing-the-language">3.6.2 Changing the Language</a></li>
462<li><a href="#changing-the-path">3.6.3 Changing the Language Path</a></li>
463<li><a href="#changing-the-charset">3.6.4 Changing the Character Set</a></li>
464</ul></li>
465<li><a href="#error-handling">3.7 Error Handling</a></li>
466<li><a href="#disabling-lexics">3.8 Disabling styling of some Lexics</a></li>
467<li><a href="#setting-tab-width">3.9 Setting the Tab Width</a></li>
468<li><a href="#using-strict-mode">3.10 Using Strict Mode</a></li>
469<li><a href="#adding-removing-keywords">3.11 Adding/Removing Keywords</a><ul>
470<li><a href="#adding-a-keyword">3.11.1 Adding a Keyword</a></li>
471<li><a href="#removing-a-keyword">3.11.2 Removing a Keyword</a></li>
472<li><a href="#adding-a-keyword-group">3.11.3 Adding a Keyword Group</a></li>
473<li><a href="#removing-a-keyword-group">3.11.4 Removing a Keyword Group</a></li>
474</ul></li>
475<li><a href="#headers-and-footers">3.12 Headers and Footers for Your Code</a><ul>
476<li><a href="#keyword-substitution">3.12.1 Keyword Substitution</a></li>
477<li><a href="#setting-header-content">3.12.2 Setting Header Content</a></li>
478<li><a href="#setting-footer-content">3.12.3 Setting Footer Content</a></li>
479<li><a href="#styling-header-content">3.12.4 Styling Header Content</a></li>
480<li><a href="#styling-footer-content">3.12.5 Styling Footer Content</a></li>
481</ul></li>
482<li><a href="#keyword-urls">3.13 Keyword URLs</a><ul>
483<li><a href="#setting-a-url">3.13.1 Setting a URL for a Keyword Group</a></li>
484<li><a href="#disabling-urls">3.13.2 Disabling a URL for a Keyword Group</a></li>
485<li><a href="#disabling-all-urls">3.13.3 Disabling all URLs for Keywords</a></li>
486<li><a href="#styling-links">3.13.4 Styling Links</a></li>
487<li><a href="#using-targets">3.13.5 Setting the Link Target</a></li>
488</ul></li>
489<li><a href="#using-contextual-importance">3.14 Using Contextual Importance</a></li>
490<li><a href="#highlighting-special-lines-extra">3.15 Highlighting Special Lines &#8220;Extra&#8221;</a><ul>
491<li><a href="#specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</a></li>
492<li><a href="#styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</a></li>
493</ul></li>
494<li><a href="#adding-ids-to-each-line">3.16 Adding IDs to Each Line</a></li>
495<li><a href="#getting-the-time-of-styling">3.17 Getting the Time of Styling</a></li>
496</ul></li>
497<li><a href="#language-files">4 Language Files</a><ul>
498<li><a href="#language-file-example">4.1 An Example Language File</a></li>
499<li><a href="#language-file-conventions">4.2 Language File Conventions</a></li>
500<li><a href="#language-file-sections">4.3 Language File Sections</a><ul>
501<li><a href="#language-file-header">4.3.1 The Header</a></li>
502<li><a href="#language-file-start-indices">4.3.2 The First Indices</a></li>
503<li><a href="#language-file-keywords">4.3.3 Keywords</a></li>
504<li><a href="#language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</a></li>
505<li><a href="#language-file-styles">4.3.5 Styles for your Language File</a></li>
506<li><a href="#language-file-urls">4.3.6 URLs for Functions</a></li>
507<li><a href="#language-file-numbers-support">4.3.7 Number Highlighting Support</a></li>
508<li><a href="#language-file-oo-support">4.3.8 Object Orientation Support</a></li>
509<li><a href="#language-file-regexps">4.3.9 Using Regular Expressions</a></li>
510<li><a href="#language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</a></li>
511<li><a href="#language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</a></li>
512<li><a href="#language-file-tidying-up">4.3.12 Tidying Up</a></li>
513</ul></li>
514<li><a href="#lang-validation">4.4 Validating your language file</a></li>
515</ul></li>
516<li><a href="#method-constant-reference">5 Method/Constant Reference</a></li>
517</ul>
518</div>
519
520<h2 id="introduction">1 Introduction</h2><div class="nav"><a href="#features">Next</a></div>
521
522<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is exactly what the acronym stands for: a <strong>Generic Syntax Highlighter</strong>. As long
523as you have a language file for almost any computer language - whether it be a
524scripting language, object orientated, markup or anything in between - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can
525highlight it! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is extremely customisable - the same source can be highlighted
526multiple times in multiple ways - the same source even with a different language.
527<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
528make 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
529<a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a>. That&#8217;s all!</p>
530
531<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>
532
533<p>Here are some of the standout features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>:</p>
534
535<dl>
536<dt>Programmed in <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</dt>
537<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
538can 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>
539
540<dt>Support for many languages:</dt>
541<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,
542<abbr title="Assembly language">ASM</abbr> and many more!</dd>
543
544<dt>XHTML compliant output:</dt>
545<dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> produces XHTML compliant output, using stylesheets, so you need not worry about
546<abbr title="Generic Syntax Highlighter">GeSHi</abbr> ruining your claims to perfection in the standards department ;)</dd>
547
548<dt>Highly customisable:</dt>
549<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
550stylesheet or not, use line numbering, change the case of output keywords&#8230; the list goes on and on!</dd>
551
552<dt>Flexible:</dt>
553<dd>Unfortunately, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is quite load/time intensive for large blocks of code. However, you want speed?
554Turn off any features you don&#8217;t like, pre-make a stylesheet and use <abbr title="Cascading Style Sheets">CSS</abbr> classes to reduce the amount of output and more -
555it&#8217;s easy to strike a balance that suits you.</dd>
556</dl>
557
558<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>
559
560<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>
561
562<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
563languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an
564entire project on its own. But now it has been released, work continues on a mod
565for 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>
566
567<p>Several systems are using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now, including:</p>
568
569<ul>
570<li><a href="http://www.splitbrain.org/docuwiki/">Dokuwiki</a> - An advanced wiki engine</li>
571<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>
572<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>
573<li><a href="http://www.php-fusion.co.uk/"><abbr title="PHP: HTML Preprocessor">PHP</abbr>-Fusion</a> - A constantly evolving CMS</li>
574<li><a href="http://cypreess.dione.cc/sqlm">SQL Manager</a> - A Postgres DBAL</li>
575<li><a href="http://www.mamboserver.com/">Mambo</a> - A popular open source CMS</li>
576<li><a href="http://www.mediawiki.org/">MediaWiki</a> - A leader in Wikis[^plugin-only]</li>
577<li><a href="http://www.tikiwiki.org/">TikiWiki</a> - A megapowerful Wiki/CMS</li>
578<li><a href="http://www.tikipro.org/">TikiPro</a> - Another powerful Wiki based on TikiWiki</li>
579<li><a href="http://www.wikkawiki.org/">WikkaWiki</a> - A flexible and lightweight Wiki engine</li>
580<li><a href="http://robloach.net/projects/phpscripts/rweb/">RWeb</a> - A site-building tool</li>
581</ul>
582
583<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>.
584Others have helped with aspects of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> also, they&#8217;re mentioned in the <a href="THANKS"><code>THANKS</code></a> file.</p>
585
586<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>
587
588<p>Many people have helped out with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, whether by creating language files, submitting bug
589reports, suggesting new ideas or simply pointing out a new idea or something I&#8217;d missed. All
590of 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>
591file.</p>
592
593<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
594added feature I can&#8217;t get my head around, or suggest a new feature, or even port
595<abbr title="Generic Syntax Highlighter">GeSHi</abbr> to anothe language? There&#8217;s lots you can do to help out, and I need it all :)</p>
596
597<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>
598
599<p>I need your feedback! <em>ANY</em>thing you have to say is fine, whether it be a query,
600congratulations, a bug report or complaint, I don&#8217;t care! I want to make this software
601the best it can be, and I need your help! You can contact me in the following ways:</p>
602
603<ul>
604<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>
605<li><strong>Forums:</strong>  <a href="http://sourceforge.net/forum?group_id=114997">Sourceforge.net Forums</a></li>
606<li><strong>IRC:</strong> <a href="irc://irc.freenode.net/geshi">#geshi</a> on <a href="http://freenode.net">Freenode</a></li>
607</ul>
608
609<p>Remember, any help I am grateful for :)</p>
610
611<h2 id="the-basics">2 The Basics</h2><div class="nav"><a href="#feedback">Previous</a> | <a href="#getting-geshi">Next</a></div>
612
613<p>In this section, you&#8217;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
614it to perform basic highlighting.</p>
615
616<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>
617
618<p>If you&#8217;re reading this and don&#8217;t have <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, that&#8217;s a problem ;). So, how do you get your hands on it?</p>
619
620<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>
621
622<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> requires the following to be installable:</p>
623
624<ul>
625<li><strong><a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a></strong>. It&#8217;s untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why
626it won&#8217;t work with any version of <abbr title="PHP: HTML Preprocessor">PHP</abbr> above 4.3.0.</li>
627<li><strong>Approximately 2 megabytes of space</strong>. The actual script is small - around 150K - but most of the size comes
628from the large number of language files (over 100!). If you&#8217;re pushed for space, make sure you don&#8217;t upload to
629your server the <code>docs/</code> or <code>contrib/</code> directory, and you may want to leave out any language files that don&#8217;t
630take your fancy either.</li>
631</ul>
632
633<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
634me know why and I&#8217;ll fix it.</p>
635
636<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>
637
638<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
639visiting <a href="http://qbnz.com/highlighter/downloads.php">http://qbnz.com/highlighter/downloads.php</a> to obtain the latest version.
640This is suitable especially when you plan on using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on an production website
641or otherwise need a stable copy for flawless operation.</p>
642
643<p>If you are somewhat more sophisticated or need a feature just recently implemented
644you might consider getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> by downloading via SVN. There are multiple ways
645for doing so and each one has its own advantages and disadvantages. Let&#8217;s cover
646the various locations in the SVN you might download from:</p>
647
648<ul>
649<li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/tags/">https://geshi.svn.sourceforge.net/svnroot/geshi/tags/</a>:<br />
650This 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
651in case something has been broken recently.</li>
652<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 />
653This 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
654is updated once in a while between updates whenever there&#8217;s something new but which is already reasonably stable. This branch is used to form the
655actual release once the work is done.</li>
656<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 />
657This directory is the working directory where every new feature, patch or improvement is committed to. This directory is updated regularly, but is not
658guaranteed to be tested and stable at all times. With this version you&#8217;ll always get the latest version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> out there, but beware of bugs! There
659will be loads of them here! So this is absolutely <strong>not recommended</strong> for productive use!</li>
660</ul>
661
662<p>If you have choosen the right SVN directory for you do a quick
663<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
664downloaded into an subdirectory called &#8220;geshi&#8221;. If you got a version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>
665you can go on installing as shown below.</p>
666
667<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>
668
669<p>Packages come in <code>.zip</code>, <code>.tar.gz</code> and <code>.tar.bz2</code> format, so there&#8217;s no complaining about whether it&#8217;s available for
670you. *nix users probably want <code>.tar.gz</code> or <code>.tar.bz2</code> and windows users probably want <code>.zip</code>.
671And those lucky to download it directly from SVN don&#8217;t even need to bother extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.</p>
672
673<p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Linux (<code>.tar.gz</code>):</p>
674
675<ol>
676<li>Open a shell</li>
677<li><code class="highlighted bash"><span class="kw3">cd</span></code> to the directory where the archive lies</li>
678<li>Type <code class="highlighted bash"><span class="kw2">tar</span> <span class="re5">-xzvf</span> <span class="br0">&#91;</span>filename<span class="br0">&#93;</span></code> where <code>[filename]</code> is the name of the archive (typically <code>GeSHi-1.X.X.tar.gz</code>)</li>
679<li><abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be extracted to its own directory</li>
680</ol>
681
682<p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Windows (<code>.zip</code>):</p>
683
684<ol>
685<li>Open Explorer</li>
686<li>Navigate to the directory where the archive lies</li>
687<li>Extract the archive. The method you use will depend on your configuration. Some people can right-click upon
688the archive and select &#8220;Extract&#8221; from there, others may have to drag the archive and drop it upon an extraction program.</li>
689</ol>
690
691<p>To extract from <code>.zip</code> you&#8217;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>
692
693<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>
694
695<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&#8217;s no tricks involved. Honest!</p>
696
697<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
698guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you
699like in this include path. I recommend that you put the language files in a subdirectory of your include path too -
700perhaps the same subdirectory that geshi.php is in. <strong>Remember this path</strong> for later.</p>
701
702<p>If you don&#8217;t know what an include path is, don&#8217;t worry. Simply copy <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to your webserver. So for example, say your
703site 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>
704
705<pre><code>http://mysite.com/myfolder/geshi/[language files]
706http://mysite.com/myfolder/geshi.php
707</code></pre>
708
709<p>Or you can put it in any subdirectory you like:</p>
710
711<pre><code>http://mysite.com/myfolder/includes/geshi/[language files]
712http://mysite.com/myfolder/includes/geshi.php
713</code></pre>
714
715<div class="caution">
716
717<div class="caution-header">Caution:</div>
718
719<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
720worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3).
721I suggest you delete these directories from any live site they are on.</p>
722
723</div>
724
725<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>
726
727<p>Use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is very easy. Here&#8217;s a simple example:</p>
728
729<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
730<span class="xtra li2"><span class="de2">2</span></span>3
731<span class="xtra li2"><span class="de2">4</span></span>5
732<span class="xtra li2"><span class="de2">6</span></span>7
733<span class="xtra li2"><span class="de2">8</span></span>9
734<span class="xtra li2"><span class="de2">10</span></span>11
735<span class="xtra li2"><span class="de2">12</span></span>13
736<span class="xtra li2"><span class="de2">14</span></span>15
737<span class="xtra li2"><span class="de2">16</span></span>17
738<span class="xtra li2"><span class="de2">18</span></span>19
739<span class="xtra li2"><span class="de2">20</span></span>21
740<span class="xtra li2"><span class="de2">22</span></span>23
741<span class="xtra li2"><span class="de2">24</span></span>25
742<span class="xtra li2"><span class="de2">26</span></span>27
743<span class="xtra li2"><span class="de2">28</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">//</span>
744<span class="xtra li2"><span class="de2"><span class="co1">// Include the GeSHi library</span></span></span><span class="co1">//</span>
745<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>&nbsp;
746<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>
747<span class="xtra li2"><span class="de2"><span class="co1">// and the path to the language files</span></span></span><span class="co1">//</span>
748<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'$foo = 45;</span>
749<span class="xtra li2"><span class="de2"><span class="st_h">for ( $i = 1; $i &lt; $foo; $i++ )</span></span></span><span class="st_h">{</span>
750<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp;echo &quot;$foo\n&quot;;</span></span></span><span class="st_h"> &nbsp;--$foo;</span>
751<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>
752<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">//</span>
753<span class="xtra li2"><span class="de2"><span class="co1">// Create a GeSHi object</span></span></span><span class="co1">//</span>
754<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">&#41;</span><span class="sy0">;</span>
755<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">//</span>
756<span class="xtra li2"><span class="de2"><span class="co1">// And echo the result!</span></span></span><span class="co1">//</span>
757<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
758
759<p>As you can see, there&#8217;s only three really important lines:</p>
760
761<p><code class="highlighted php"><span class="kw1">include_once</span><span class="br0">&#40;</span><span class="st_h">'geshi.php'</span><span class="br0">&#41;</span></code></p>
762
763<p>This line includes the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> class for use</p>
764
765<p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
766
767<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>
768
769<p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
770
771<p>This line spits out the result :)</p>
772
773<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>
774
775<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
776function <code class="highlighted php"><span class="kw3">highlight_string</span><span class="br0">&#40;</span><span class="br0">&#41;</span></code> behaves - all you do is pass it the language you want to use to highlight and the
777path to the language files as well as the source. Here are some examples:</p>
778
779<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
780<span class="xtra li2"><span class="de2">2</span></span>3
781<span class="xtra li2"><span class="de2">4</span></span>5
782<span class="xtra li2"><span class="de2">6</span></span>7
783<span class="xtra li2"><span class="de2">8</span></span>9
784<span class="xtra li2"><span class="de2">10</span></span>11
785<span class="xtra li2"><span class="de2">12</span></span>13
786<span class="xtra li2"><span class="de2">14</span></span>15
787<span class="xtra li2"><span class="de2">16</span></span>17
788<span class="xtra li2"><span class="de2">18</span></span>19
789<span class="xtra li2"><span class="de2">20</span></span>21
790</pre></td><td class="de1"><pre class="de1"><span class="co1">// Simply echo the highlighted code</span>
791<span class="xtra li2"><span class="de2">geshi_highlight<span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
792<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">&#40;</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">&#41;</span><span class="sy0">;</span>
793<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// Check if there is an error with parsing this code</span>
794<span class="xtra li2"><span class="de2">&nbsp;</span></span><a href="http://www.php.net/ob_start"><span class="kw3">ob_start</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
795<span class="xtra li2"><span class="de2"><span class="re0">$result</span> <span class="sy0">=</span> geshi_highlight<span class="br0">&#40;</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">&#41;</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">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
796<span class="xtra li2"><span class="de2">&nbsp;</span></span><a href="http://www.php.net/ob_end_clean"><span class="kw3">ob_end_clean</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
797<span class="xtra li2"><span class="de2"><span class="kw1">if</span> <span class="br0">&#40;</span> <span class="sy0">!</span><span class="re0">$result</span> <span class="br0">&#41;</span></span></span><span class="br0">&#123;</span>
798<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// There was an error with highlighting...</span></span></span><span class="br0">&#125;</span>
799<span class="xtra li2"><span class="de2"><span class="kw1">else</span></span></span><span class="br0">&#123;</span>
800<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// All OK :)</span></span></span><span class="br0">&#125;</span></pre></td></tr></tbody></table>
801
802<p>However, these are really simple examples and doesn&#8217;t even begin to cover all the advanced features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.
803If you want to learn more, continue on to section 3: Advanced Features.</p>
804
805<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>
806
807<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,
808disabling highlighting of some things and more.</p>
809
810<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
811included, 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
812source, language and path used are arbitary.</p>
813
814<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>
815
816<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
817Code Container? It&#8217;s the bit of markup that goes around your code to contain it. By default your code is surrounded
818by a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code>, but you can also specify a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code>.</p>
819
820<p>The <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> header is the default. If you&#8217;re familiar with <abbr title="Hypertext Markup Language">HTML</abbr> you&#8217;ll know that whitespace is rendered
821&#8220;as is&#8221; by a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> element. The advantage for you is that if you use <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> the whitespace
822you use will appear pretty much exactly how it is in the source, and what&#8217;s more <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won&#8217;t have to add a whole
823lot of <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">br</span> <span class="sy0">/</span>&gt;</span></code>&#8217;s and non-breaking spaces (<code class="highlighted html4strict"><span class="sc1">&amp;nbsp;</span></code>) to your code to indent it. This saves
824you source code (and your valuable visitors waiting time and your bandwidth).</p>
825
826<p>But if you don&#8217;t like <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> or it looks stupid in your browser no matter what styles you try to
827apply to it or something similar, you might want to use a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> instead. A <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> will
828result 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
829that would otherwise have your browser&#8217;s horizontal scrollbar appear. Of course with <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> you can
830<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">&lt;<span class="kw2">div</span>&gt;</span></code>
831approach for this reason.</p>
832
833<p>At this stage there isn&#8217;t an option to wrap the code in <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">code</span>&gt;</span></code> tags (unless you use the function
834<code>geshi_highlight</code>), partly because of the inconsistent and unexpected ways stuff in <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">code</span>&gt;</span></code> tags is
835highlighted. Besides, <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">code</span>&gt;</span></code> is an inline element. But this may become an option in future versions.</p>
836
837<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>
838
839<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
840source even if this wasn&#8217;t necessary, thus styles that are applied to the output of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can directly influence
841the code only even if headers and footers are present.</p>
842
843<p>To change/set the header to use, you call the <strong><code class="highlighted php">set_header_type<span class="br0">&#40;</span><span class="br0">&#41;</span></code></strong> method. It has one required argument which
844defines the container type. Available are:</p>
845
846<dl>
847<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_DIV<span class="br0">&#41;</span><span class="sy0">;</span></code></dt>
848<dd>
849<p>Puts a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> around both, code and linenumbers. Whitespace is converted to <code class="highlighted html4strict"><span class="sc1">&amp;nbsp;</span></code>
850sequences (i.e. one whitespace and the html entity of a non-breaking whitespace) to keep your indendation level
851in tact. Tabs are converted as well and you can manually <a href="#setting-tab-width">define the tab-width</a>. Lines are automatically wrapped.
852Linenumbers are created using an ordered list.</p>
853</dd>
854
855<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_PRE<span class="br0">&#41;</span><span class="sy0">;</span></code></dt>
856<dd>
857<p>Wraps code and linenumbers in a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> container. This way whitespace is kept as-is and thus
858this header produces less overhead then the <code>GESHI_HEADER_DIV</code> header type. Since linenumbers are still
859created using an ordered list this header type produces <strong>invalid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p>
860</dd>
861
862<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_PRE_VALID<span class="br0">&#41;</span><span class="sy0">;</span></code></dt>
863<dd><em><small>Available since 1.0.8</small></em></dd>
864
865<dd>
866<p>When linenumbers are disabled, this behaves just like <code>GESHI_HEADER_PRE</code>. In the other case though, a
867<code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> is used to wrap the code and linenumbers and the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> is put inside the list
868items (<code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">li</span>&gt;</span></code>). This means slightly larger <abbr title="Hypertext Markup Language">HTML</abbr> output compared to <code>GESHI_HEADER_PRE</code>, but the
869output is <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p>
870</dd>
871
872<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_PRE_TABLE<span class="br0">&#41;</span><span class="sy0">;</span></code></dt>
873<dd><em><small>Available since 1.0.8</small></em></dd>
874
875<dd>
876<p>Once again a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> tag wraps the output. This time though no ordered list is used to create an ordered list,
877but instead we use a table with two cells in a single row. The left cell contains a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> tag which holds all
878linenumbers. The second cell holds the highlighted code, also wrapped in a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> tag, just like with
879<code>GESHI_HEADER_PRE</code>.</p>
880</dd>
881
882<dd>
883<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
884browsers, see <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1651996&amp;group_id=114997&amp;atid=670231">SF#1651996</a> for more information.</p>
885</dd>
886
887<dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_NONE<span class="br0">&#41;</span><span class="sy0">;</span></code></dt>
888<dd><em><small>Available since 1.0.7.2</small></em></dd>
889
890<dd>
891<p>No wrapper is added.</p>
892</dd>
893</dl>
894
895<p>Those are the only arguments you should pass to <code class="highlighted php">set_header_type</code>. Passing anything else may cause inconsistencies
896in what is used as the Code Container (although it <em>should</em> simply use a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code>). Better not to risk it.</p>
897
898<div class="note">
899
900<div class="note-header">Note:</div>
901
902<p>GESHI_HEADER_DIV, GESHI_HEADER_PRE, etc. are <em>constants</em>, so don&#8217;t put them in strings!</p>
903
904</div>
905
906<div class="caution">
907
908<div class="caution-header">Caution:</div>
909
910<p>The default styles for the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> and <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> <em>will be different</em>, especially if you use
911  line numbers!</p>
912
913<p>I have found that a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> results in code that is smaller than for that of a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code>, you
914  should rectify this difference by using <strong><code class="highlighted php">set_overall_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code></strong> if you need to. But be aware of this
915  difference for if you are changing the header type!</p>
916
917</div>
918
919<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>
920
921<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>
922to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the
923fancy line numbers feature.</p>
924
925<p>There are multiple methods for highlighting line numbers, but none of them is perfect. Of the various ways to highlight
926line numbers <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself implements 2 different approaches, but allows you
927by the way it generates the code to do the line numbers yourself if necessary - but more on this case later.</p>
928
929<p>The easiest approach is using the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">ol</span>&gt;</span></code>-tag for generating the line numbers, but
930even though this is the easiest one there&#8217;s a big drawback with this one when
931using Gecko-engine based browsers like Firefox or Konqueror. In these browsers
932this approach will select the line numbers along with the code or will include extra markup in the selection.</p>
933
934<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.
935When using this header type the line numbers are rendered apart from the source
936in a table cell while the actual source is formatted as if the <code class="highlighted php">GESHI_HEADER_PRE</code> header had been used.
937This approach works with Firefox and other Gecko-based browsers so far although extreme care
938has to be taken when applying styles to your source as Windows has some fonts
939where bold font is of different height than normal or italic text of the same fontface.</p>
940
941<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>
942
943<p>To highlight a source with line numbers, you call the <code class="highlighted php">enable_line_numbers<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
944
945<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_line_numbers</span><span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span><span class="sy0">;</span></code>
946Where <code class="highlighted php"><span class="re0">$flag</span></code> is one of the following:</p>
947
948<ul>
949<li><code>GESHI_NORMAL_LINE_NUMBERS</code> - Use normal line numbering</li>
950<li><code>GESHI_FANCY_LINE_NUMBERS</code> - Use fancy line numbering</li>
951<li><code>GESHI_NO_LINE_NUMBERS</code> - Disable line numbers (default)</li>
952</ul>
953
954<p>Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers
955means that you can specify a different style for each n<sup>th</sup> line number. You change the value of n (default 5):</p>
956
957<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_line_numbers</span><span class="br0">&#40;</span>GESHI_FANCY_LINE_NUMBERS<span class="sy0">,</span> <span class="nu0">37</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
958
959<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.
960Setting it to <code>1</code> applies the fancy style to every line number.</p>
961
962<div class="note">
963
964<div class="note-header">Note:</div>
965
966<p>The values above are CONSTANTS - so don&#8217;t put them in strings!</p>
967
968</div>
969
970<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>
971
972<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
973styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For
974example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line
975numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the
976whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is
977quite a bit more <abbr title="Hypertext Markup Language">HTML</abbr> involved. So think carefully about these things before you enable line numbers.</p>
978
979<p>Now, onto how to style line numbers:</p>
980
981<p>Styles are set for line numbers using the <code class="highlighted php">set_line_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
982
983<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</span><span class="st_h">'background: #fcfcfc;'</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
984
985<p>If you&#8217;re using Fancy Line Numbers mode, you pass a second string for the style of the n<sup>th</sup> line number:</p>
986
987<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</span><span class="st_h">'background: #fcfcfc;'</span><span class="sy0">,</span> <span class="st_h">'background: #f0f0f0;'</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
988
989<p>The second style will have no effect if you&#8217;re not using Fancy Line Numbers mode.</p>
990
991<p>By default, the styles you pass overwrite the current styles. Add a boolean &#8220;true&#8221; after the styles you specify to combine them with the current styles:</p>
992
993<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
994<span class="xtra li2"><span class="de2">2</span></span>3
995<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">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</span><span class="st_h">'background: red;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span>
996<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// or, for fancy line numbers</span>
997<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
998
999<div class="note">
1000
1001<div class="note-header">Note:</div>
1002
1003<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
1004  includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it&#8217;s
1005  used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is
1006  to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more
1007  have a look at the <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1651996&amp;group_id=114997&amp;atid=670231">SF.net BugTracker Issue #1651996</a>. This will hopefully be fixed in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version 1.2
1008  or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first!</p>
1009
1010</div>
1011
1012<div class="caution">
1013
1014<div class="caution-header">Caution:</div>
1015
1016<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
1017  release. If you want your code to be styled in a predictable manner, you&#8217;ll have to call the <code class="highlighted php">set_code_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code>
1018  method to rectify this problem.</p>
1019
1020<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">&#40;</span><span class="br0">&#41;</span></code>.
1021  Here&#8217;s how you&#8217;d style:</p>
1022
1023<ol>
1024<li><p>Use <code class="highlighted php">set_overall_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to style the overall code block. For example, you can set the border
1025style/colour, any margins and padding etc. using this method. <strong>In addition:</strong> set the background colour for
1026all the line numbers using this method.</p></li>
1027<li><p>Use <code class="highlighted php">set_line_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to style the foreground of the line numbers. For example, you can set the colour,
1028weight, font, padding etc. of the line numbers using this method.</p></li>
1029<li><p>Use <code class="highlighted php">set_code_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to explicitly override the styles you set for line numbers using
1030<code class="highlighted php">set_line_style</code>. For example, if you&#8217;d set the line numbers to be bold (or even if you&#8217;d only set
1031the fancy line number style to be bold), and you didn&#8217;t actually want your code to be bold, you&#8217;d make sure
1032that <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">&#40;</span><span class="br0">&#41;</span></code>.</p>
1033
1034<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
1035any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it.</p></li>
1036</ol>
1037
1038</div>
1039
1040<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>
1041
1042<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
1043if you&#8217;re highlighting code from a file from around a certain line number in that file, as an additional guide to
1044those who will view the code. You set the line numbers by calling the <code class="highlighted php">start_line_numbers_at<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1045
1046<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">start_line_numbers_at</span><span class="br0">&#40;</span><span class="re0">$number</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1047
1048<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>
1049
1050<p>If you have not enabled line numbers, this will have no effect.</p>
1051
1052<div class="caution">
1053
1054<div class="caution-header">Caution:</div>
1055
1056<p>Although I&#8217;d like <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to have XHTML strict compliance, this feature will break compliancy (however transitional
1057  compliancy remains). This is because the only widely supported way to change the start value for line numbers is
1058  by using the <strong>start=&#8221;number&#8221;</strong> attribute of the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">ol</span>&gt;</span></code> tag. Although <abbr title="Cascading Style Sheets">CSS</abbr> does provide a mechanism for
1059  doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this).</p>
1060
1061</div>
1062
1063<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>
1064
1065<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
1066(the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping
106790% saving - which makes a &#42;huge&#42; difference to those unlucky of us on modems!</p>
1068
1069<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>
1070
1071<p>By default, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> doesn&#8217;t use the classes, so it&#8217;s easy just to whack out some highlighted code if you need without
1072worrying about stylesheets. However, if you&#8217;re a bit more organised about it, you should use the classes ;). To turn
1073the use of classes on, you call the <code class="highlighted php">enable_classes<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1074
1075<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1076
1077<p>If you want to turn classes OFF for some reason later:</p>
1078
1079<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1080
1081<p>If classes are enabled when <code class="highlighted php">parse_code<span class="br0">&#40;</span><span class="br0">&#41;</span></code> is called, then the resultant source will use <abbr title="Cascading Style Sheets">CSS</abbr> classes in the
1082output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will
1083be very noticeable, and what&#8217;s more you can use one stylesheet for several different highlights on the same page. In
1084fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets
1085are cached by browsers).</p>
1086
1087<div class="note">
1088
1089<div class="note-header">Note:</div>
1090
1091<p>There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should
1092  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>
1093
1094</div>
1095
1096<div class="caution">
1097
1098<div class="caution-header">Caution:</div>
1099
1100<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
1101  can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the
1102  code, but this may result in unexpected behaviour.</p>
1103
1104</div>
1105
1106<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>
1107
1108<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
1109stylesheet for many different snippets of code. You call <code class="highlighted php">set_overall_class<span class="br0">&#40;</span><span class="br0">&#41;</span></code> and <code class="highlighted php">set_overall_id</code>
1110to accomplish this:</p>
1111
1112<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
1113<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">-&gt;</span><span class="me1">set_overall_class</span><span class="br0">&#40;</span><span class="st_h">'mycode'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1114<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_overall_id</span><span class="br0">&#40;</span><span class="st_h">'dk48ck'</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1115
1116<p>The default classname is the name of the language being used. This means you can use just the one stylesheet for all
1117sources that use the same language, and incidentally means that you probably won&#8217;t have to call these methods too often.</p>
1118
1119<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
1120and then use that ID to highlight that code in a unique way. You&#8217;d do this for a block of code that you expressly
1121wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example).</p>
1122
1123<div class="note">
1124
1125<div class="note-header">Note:</div>
1126
1127<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>
1128
1129</div>
1130
1131<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>
1132
1133<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
1134get a stylesheet for your code, with one easy method call:</p>
1135
1136<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
1137<span class="xtra li2"><span class="de2">2</span></span>3
1138<span class="xtra li2"><span class="de2">4</span></span>5
1139<span class="xtra li2"><span class="de2">6</span></span>7
1140<span class="xtra li2"><span class="de2">8</span></span>9
1141<span class="xtra li2"><span class="de2">10</span></span>11
1142<span class="xtra li2"><span class="de2">12</span></span>13
1143<span class="xtra li2"><span class="de2">14</span></span>15
1144<span class="xtra li2"><span class="de2">16</span></span>17
1145</pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1146<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// Here we have code that will spit out a header for</span>
1147<span class="xtra li2"><span class="de2"><span class="co1">// a stylesheet. For example:</span></span></span>&nbsp;
1148<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'&lt;html&gt;</span></span></span><span class="st_h">&lt;head&gt;&lt;title&gt;Code&lt;/title&gt;</span>
1149<span class="xtra li2"><span class="de2"><span class="st_h">&lt;style type=&quot;text/css&quot;&gt;</span></span></span><span class="st_h">&lt;!--'</span><span class="sy0">;</span>
1150<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">-&gt;</span><span class="me1">get_stylesheet</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1151<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// And continue echoing the page</span>
1152<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="kw1">echo</span> <span class="st_h">'--&gt;</span>
1153<span class="xtra li2"><span class="de2"><span class="st_h">&lt;/style&gt;&lt;/head&gt;</span></span></span><span class="st_h">&lt;body&gt;'</span><span class="sy0">;</span></pre></td></tr></tbody></table>
1154
1155<p>The <code class="highlighted php">get_stylesheet<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method gets the stylesheet for your code in one easy call. All you need to do
1156is output it in the correct place. As you can also see, you don&#8217;t even have to enable class usage to get the
1157stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later.</p>
1158
1159<p>By default, <code class="highlighted php">get_stylesheet<span class="br0">&#40;</span><span class="br0">&#41;</span></code> tries to echo the least amount of code possible. Although currently it doesn&#8217;t
1160check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the
1161present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related
1162<abbr title="Cascading Style Sheets">CSS</abbr> will not be outputted. This may be a bad thing for you perhaps you&#8217;re going to use the stylesheet for many blocks
1163of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you&#8217;re
1164building an external stylesheet and want all lexics included. So to get around this problem, you do this:</p>
1165
1166<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">get_stylesheet</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1167
1168<p>This turns economy mode off, and all of the stylesheet will be outputted regardless.</p>
1169
1170<p>Now lets say you have several snippets of code, using the same language. In most of them you don&#8217;t mind if they&#8217;re
1171highlighted the same way (in fact, that&#8217;s exactly what you want) but in one of them you&#8217;d like the source to be
1172highlighted differently. Here&#8217;s how you can do that:</p>
1173
1174<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
1175<span class="xtra li2"><span class="de2">2</span></span>3
1176<span class="xtra li2"><span class="de2">4</span></span>5
1177<span class="xtra li2"><span class="de2">6</span></span>7
1178<span class="xtra li2"><span class="de2">8</span></span>9
1179<span class="xtra li2"><span class="de2">10</span></span>11
1180<span class="xtra li2"><span class="de2">12</span></span>13
1181<span class="xtra li2"><span class="de2">14</span></span>15
1182<span class="xtra li2"><span class="de2">16</span></span>17
1183<span class="xtra li2"><span class="de2">18</span></span>19
1184<span class="xtra li2"><span class="de2">20</span></span>21
1185<span class="xtra li2"><span class="de2">22</span></span>23
1186<span class="xtra li2"><span class="de2">24</span></span>25
1187<span class="xtra li2"><span class="de2">26</span></span>27
1188<span class="xtra li2"><span class="de2">28</span></span>29
1189<span class="xtra li2"><span class="de2">30</span></span>31
1190<span class="xtra li2"><span class="de2">32</span></span>33
1191<span class="xtra li2"><span class="de2">34</span></span>35
1192<span class="xtra li2"><span class="de2">36</span></span>37
1193<span class="xtra li2"><span class="de2">38</span></span>39
1194<span class="xtra li2"><span class="de2">40</span></span>41
1195<span class="xtra li2"><span class="de2">42</span></span>43
1196<span class="xtra li2"><span class="de2">44</span></span>45
1197<span class="xtra li2"><span class="de2">46</span></span>47
1198<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 &quot;geshi/&quot; relative to the current directory</span>
1199<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi1</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">&#41;</span><span class="sy0">;</span>
1200<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">&#40;</span><span class="re0">$source2</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1201<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">&#40;</span><span class="re0">$source3</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1202<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">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1203<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi2</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1204<span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1205<span class="xtra li2"><span class="de2"><span class="co1">// Make $geshi3 unique</span></span></span><span class="re0">$geshi3</span><span class="sy0">-&gt;</span><span class="me1">set_overall_id</span><span class="br0">&#40;</span><span class="st_h">'different'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1206<span class="xtra li2"><span class="de2">&nbsp;</span></span>&nbsp;
1207<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>
1208<span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span>&nbsp;
1209<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'&lt;html&gt;</span></span></span><span class="st_h">&lt;head&gt;&lt;title&gt;Code&lt;/title&gt;</span>
1210<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="st_h">&lt;style type=&quot;text/css&quot;&gt;</span>
1211<span class="xtra li2"><span class="de2"><span class="st_h">&lt;!--</span></span></span><span class="st_h">'</span><span class="sy0">;</span>
1212<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// Get the nessecary stylesheets</span>
1213<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-&gt;</span><span class="me1">get_stylesheet</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1214<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-&gt;</span><span class="me1">get_stylesheet</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1215<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'--&gt;</span></span></span><span class="st_h">&lt;/style&gt;&lt;/head&gt;</span>
1216<span class="xtra li2"><span class="de2"><span class="st_h">&lt;body&gt;'</span><span class="sy0">;</span></span></span>&nbsp;
1217<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="kw1">echo</span> <span class="st_h">'Code snippet 1:'</span><span class="sy0">;</span>
1218<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</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>
1219<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="kw1">echo</span> <span class="re0">$geshi2</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1220<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">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1221<span class="xtra li2"><span class="de2">&nbsp;</span></span>&nbsp;
1222<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'&lt;/body&gt;&lt;/html&gt;'</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1223
1224<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
1225limitation has been removed in version 1.0.2 - if you set the ID of a block of code, all styling will be done based
1226on that ID alone.</p>
1227
1228<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>
1229
1230<p>An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some
1231drawbacks with this. To use an external stylesheet, it&#8217;s up to you to link it in to your document, normally with
1232the following <abbr title="Hypertext Markup Language">HTML</abbr>:</p>
1233
1234<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
1235<span class="xtra li2"><span class="de2">2</span></span>3
1236</pre></td><td class="de1"><pre class="de1"><span class="sc2">&lt;<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span>
1237<span class="xtra li2"><span class="de2"><span class="sc2">&lt;<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span></span></span><span class="sc2">&lt;<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">&quot;stylesheet&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/css&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;url_to_stylesheet.css&quot;</span> <span class="sy0">/</span>&gt;</span></pre></td></tr></tbody></table>
1238
1239<p>In your external stylesheet you put <abbr title="Cascading Style Sheets">CSS</abbr> declarations for your code. Then just make sure you&#8217;re using the correct class (use
1240<code class="highlighted php">set_overall_class<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to ensure this) and this should work fine.</p>
1241
1242<p>This method is great if you don&#8217;t mind the source always being highlighted the same (in particular, if you&#8217;re making a
1243plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and
1244your bandwidth, and it&#8217;s relatively easy to just change the stylesheet should you need to. However, using this will render
1245the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically
1246generated. You can still disable highlighting of certain lexics dynamically, however.</p>
1247
1248<div class="note">
1249
1250<div class="note-header">Note:</div>
1251
1252<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 &#8220;wizard&#8221; script for creating
1253  a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the
1254  basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any
1255  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
1256  should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this
1257  script in version 1.2!</p>
1258
1259</div>
1260
1261<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>
1262
1263<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
1264to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and
1265can even say whether something is to be highlighted at all.</p>
1266
1267<p>If you&#8217;re confused about &#8220;styles&#8221;, you probably want to have a quick tutorial in them so you know what you can do with
1268them. 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>
1269
1270<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>
1271
1272<p>The code outputted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is either in a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> or a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> (see the section entitled &#8220;The
1273Code Container&#8221;), and this can be styled.</p>
1274
1275<p><code>$geshi-&gt;set_overall_style('... styles ...');</code>
1276Where 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>
1277
1278<p><code>$geshi-&gt;set_overall_style('color: blue;', true);</code>
1279The default styles &#8220;shine through&#8221; wherever anything isn&#8217;t highlighted. Also, you can apply more advanced styles, like position: (fixed|relative) etc, because a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code>/<code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> is a block level element.</p>
1280
1281<div class="note">
1282
1283<div class="note-header">Note:</div>
1284
1285<p>Remember that a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> will by default have a larger font size than a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code>, as discussed in the section <a href="#the-code-container">&#8220;The Code Container&#8221;</a>.</p>
1286
1287</div>
1288
1289<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>
1290
1291<p>You may wish to refer to the section [Styling Line Numbers][1] before reading this section.</p>
1292
1293<p>As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is
1294different. In particular, now you cannot set the background style of the fancy line numbers to be different from that
1295of the normal line numbers.</p>
1296
1297<p>Line number styles are set by using the method <code class="highlighted php">set_line_style</code>:</p>
1298
1299<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</span><span class="re0">$style1</span><span class="sy0">,</span> <span class="re0">$style2</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1300
1301<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>
1302
1303<div class="caution">
1304
1305<div class="caution-header">Caution:</div>
1306
1307<p>Things have changed since 1.0.1! This note is <strong>very</strong> important - please make sure you check this twice before
1308  complaining about line numbers!</p>
1309
1310<p>Because of the way that ordered lists are done in <abbr title="Hypertext Markup Language">HTML</abbr>, there really isn&#8217;t normally a way to style the actual
1311  <em>numbers</em> in the list. I&#8217;ve cheated somewhat with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - I&#8217;ve made it possible to use <abbr title="Cascading Style Sheets">CSS</abbr> to style the <em>foreground</em> of
1312  the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to
1313  have a pretty background, you <strong>must</strong> use <code class="highlighted php">set_overall_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to do this, and use <code class="highlighted php">set_code_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code>
1314  to style the actual code! This is explained in the section above: <a href="#styling-line-numbers">Styling Line Numbers</a>.</p>
1315
1316<p>In addition, the styles for fancy line numbers <em>is now the difference between the normal styles and the styles you want
1317  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>
1318
1319<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></code></p>
1320
1321<p>Now you instead can do this:</p>
1322
1323<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_line_style</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></code></p>
1324
1325<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
1326  saving in code - but the difference may be confusing for anyone using 1.0.1 at first.</p>
1327
1328</div>
1329
1330<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>
1331
1332<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
1333a particular set, you&#8217;ll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1
1334contains 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
1335contains 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
1336similar variable modifiers: <code>int</code>, <code>double</code>, <code>real</code>, <code>static</code> etc. However these things are not fixed, and you should
1337check the language file to see what key you want. Having a familiarity with a language file is definately a plus for
1338using it.</p>
1339
1340<p>To change the styles for a keyword set, call the <code class="highlighted php">set_keyword_group_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1341
1342<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_keyword_group_style</span><span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1343
1344<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
1345to apply to that group.</p>
1346
1347<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
1348combine them with the current styles:</p>
1349
1350<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_keyword_group_style</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></code></p>
1351
1352<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>
1353
1354<p>To change the styles for a comment group, call the <code class="highlighted php">set_comments_style<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1355
1356<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_comments_style</span><span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1357
1358<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
1359specify multiline comments:</p>
1360
1361<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
1362<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">-&gt;</span><span class="me1">set_comments_style</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'font-style: italic;'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1363<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_comments_style</span><span class="br0">&#40;</span><span class="st_h">'MULTI'</span><span class="sy0">,</span> <span class="st_h">'display: hidden;'</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1364
1365<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
1366combine them with the current styles:</p>
1367
1368<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_comments_style</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></code></p>
1369
1370<div class="note">
1371
1372<div class="note-header">Note:</div>
1373
1374<p>In 1.0.7.22 a new kind of Comments called &#8220;COMMENT_REGEXP&#8221; has been added. Those are handled by setting single
1375  line comment styles.</p>
1376
1377</div>
1378
1379<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>
1380
1381<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
1382and Brackets among other things can all also be highlighted. Here are the related methods:</p>
1383
1384<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
1385<span class="xtra li2"><span class="de2">2</span></span>3
1386<span class="xtra li2"><span class="de2">4</span></span>5
1387<span class="xtra li2"><span class="de2">6</span></span>7
1388</pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_escape_characters_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1389<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_symbols_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1390<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_strings_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_numbers_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1391<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_methods_style</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_regexps_style</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></td></tr></tbody></table>
1392
1393<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
1394to <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">&#40;</span><span class="br0">&#41;</span></code>,
1395you should select a group to set the styles of, check the language files for the number used for each &#8220;object splitter&#8221;.</p>
1396
1397<p>Like this was possible for <code class="highlighted php">set_method_style</code> a new parameter has been introduced for
1398<code class="highlighted php">set_symbols_style</code> too which allows you to select the group of symbols for which you&#8217;d like to change your
1399style. <code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_symbols_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">&#91;</span><span class="sy0">,</span> <span class="re0">$group</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></code> If the third parameter is not
1400given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket
1401style, i.e. a pass-through call to <code class="highlighted php">set_bracket_style</code> is made.</p>
1402
1403<div class="note">
1404
1405<div class="note-header">Note:</div>
1406
1407<p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 multiple styles for strings and numbers are supported, though the API doesn&#8217;t provide full access yet.</p>
1408
1409</div>
1410
1411<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>
1412
1413<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
1414case, and also control whether keywords are checked in a case sensitive manner.</p>
1415
1416<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>
1417
1418<p>Auto-Caps/NoCaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are
1419styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it&#8217;s capatalisation, and SQL is another
1420language well known for using caps for readability.</p>
1421
1422<p>To change what case lexics are rendered in, you call the <code class="highlighted php">set_case_keywords<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1423
1424<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_case_keywords</span><span class="br0">&#40;</span><span class="re0">$caps_modifier</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1425
1426<p>The valid values to pass to this method are:</p>
1427
1428<ul>
1429<li><code>GESHI_CAPS_NO_CHANGE</code> - Don&#8217;t change the case of any lexics, leave as they are found</li>
1430<li><code>GESHI_CAPS_UPPER</code> - Uppercase all lexics found</li>
1431<li><code>GESHI_CAPS_LOWER</code> - Lowercase all lexics found</li>
1432</ul>
1433
1434<div class="caution">
1435
1436<div class="caution-header">Caution:</div>
1437
1438<p>When I say &#8220;lexic&#8221;, I mean &#8220;keywords&#8221;. <strong>Any</strong> keyword in <strong>any</strong> keyword array will be modified using this option!
1439  This is one small area of inflexibility I hope to fix in 1.2.X.</p>
1440
1441</div>
1442
1443<p>I suspect this will only be used to specify <code>GESHI_CAPS_NO_CHANGE</code> to turn off autocaps for languages like SQL
1444and BASIC variants, like so:</p>
1445
1446<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
1447<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">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'sql'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1448<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_case_keywords</span><span class="br0">&#40;</span>GESHI_CAPS_NO_CHANGE<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// don't want keywords capatalised</span></span></span></pre></td></tr></tbody></table>
1449
1450<p>All the same, it can be used for some interesting effects:</p>
1451
1452<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
1453<span class="xtra li2"><span class="de2">2</span></span>3
1454<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">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1455<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">-&gt;</span><span class="me1">set_case_keywords</span><span class="br0">&#40;</span>GESHI_CAPS_LOWER<span class="br0">&#41;</span><span class="sy0">;</span>
1456<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>
1457
1458<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>
1459
1460<p>Some languages, like <abbr title="PHP: HTML Preprocessor">PHP</abbr>, don&#8217;t mind what case function names and keywords are in, while others, like Java, depend on
1461such pickiness to maintain their bad reputations ;). In any event, you can use the <code class="highlighted php">set_case_sensitivity<span class="br0">&#40;</span><span class="br0">&#41;</span></code>
1462to change the case sensitiveness of a particular keyword group from the default:</p>
1463
1464<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_case_sensitivity</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$sensitivity</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1465
1466<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
1467for 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
1468<code class="highlighted php"><span class="kw4">false</span></code> if not.</p>
1469
1470<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>
1471
1472<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
1473any of those basic fields after you&#8217;ve created a <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object? Well, that&#8217;s where these methods come in.</p>
1474
1475<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>
1476
1477<p>To change the source code, you call the <code class="highlighted php">set_source<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1478
1479<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_source</span><span class="br0">&#40;</span><span class="re0">$newsource</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1480
1481<p>Example:</p>
1482
1483<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
1484<span class="xtra li2"><span class="de2">2</span></span>3
1485<span class="xtra li2"><span class="de2">4</span></span>5
1486<span class="xtra li2"><span class="de2">6</span></span>7
1487<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">&#40;</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1488<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// Method calls to specify various options...</span>
1489<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$code1</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1490<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_source</span><span class="br0">&#40;</span><span class="re0">$source2</span><span class="br0">&#41;</span><span class="sy0">;</span>
1491<span class="xtra li2"><span class="de2"><span class="re0">$code2</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1492
1493<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>
1494
1495<p>What happens if you want to change the language used for highlighting? Just call <code class="highlighted php">set_language<span class="br0">&#40;</span><span class="br0">&#41;</span></code>:</p>
1496
1497<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_language</span><span class="br0">&#40;</span><span class="st_h">'newlanguage'</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1498
1499<p>Example:</p>
1500
1501<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
1502<span class="xtra li2"><span class="de2">2</span></span>3
1503<span class="xtra li2"><span class="de2">4</span></span>5
1504<span class="xtra li2"><span class="de2">6</span></span>7
1505<span class="xtra li2"><span class="de2">8</span></span>9
1506<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">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">&#41;</span><span class="sy0">;</span>
1507<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$code</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
1508<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="co1">// Highlight GeSHi's output</span>
1509<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_source</span><span class="br0">&#40;</span><span class="re0">$code</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
1510<span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_language</span><span class="br0">&#40;</span><span class="st_h">'html4strict'</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">;</span>
1511<span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1512
1513<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">&#40;</span><span class="br0">&#41;</span></code> to load the source code and language from a file.
1514Simply pass this method a file name and it will attempt to load the source and set the language.</p>
1515
1516<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">load_from_file</span><span class="br0">&#40;</span><span class="re0">$file_name</span><span class="sy0">,</span> <span class="re0">$lookup</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1517
1518<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
1519array to use for deciding which language to choose. You can use this to override <abbr title="Generic Syntax Highlighter">GeSHi</abbr>&#8217;s default lookup array, which
1520may not contain the extension of the file you&#8217;re after, or perhaps does have your extension but under a different
1521language. The lookup array is of the form:</p>
1522
1523<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
1524<span class="xtra li2"><span class="de2">2</span></span>3
1525<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">&#40;</span>
1526<span class="xtra li2"><span class="de2">&nbsp; &nbsp;<span class="st_h">'lang_name'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</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">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp;<span class="st_h">'lang_name'</span> <span class="sy0">...</span>
1527<span class="xtra li2"><span class="de2"><span class="br0">&#41;</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table>
1528
1529<p>Also, you can use the method <code class="highlighted php">get_language_name_from_extension<span class="br0">&#40;</span><span class="br0">&#41;</span></code> if you need to convert a file extension
1530to a valid language name. This method will return the empty string if it could not find a match in the lookup, and
1531like <code class="highlighted php">load_from_file</code> it accepts an optional second parameter that contains a lookup array.</p>
1532
1533<div class="note">
1534
1535<div class="note-header">Note:</div>
1536
1537<p>Names are case-insensitive - they will be converted to lower case to match a language file however. So if you&#8217;re
1538  making a language file, remember it should have a name in lower case.</p>
1539
1540</div>
1541
1542<div class="note">
1543
1544<div class="note-header">Note:</div>
1545
1546<p>What you pass to this method is the name of a language file, minus the .php extension. If you&#8217;re writing a plugin
1547  for a particular application, it&#8217;s up to you to somehow convert user input into a valid language name.</p>
1548
1549</div>
1550
1551<div class="note">
1552
1553<div class="note-header">Note:</div>
1554
1555<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
1556  to highlight code in the same language with different settings add the optional
1557  <code class="highlighted php"><span class="re0">$force_reset</span> parameter</code>:</p>
1558
1559<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_language</span><span class="br0">&#40;</span><span class="st_h">'language'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1560
1561</div>
1562
1563<div class="caution">
1564
1565<div class="caution-header">Caution:</div>
1566
1567<p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> <code class="highlighted php"><span class="kw1">include</span><span class="br0">&#40;</span><span class="br0">&#41;</span></code>s the language file, so be careful to make sure that users can&#8217;t pass some wierd
1568  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
1569  you should always do this your self anyway. In particular, language files are always lower-case, with either
1570  alphanumeric characters, dashes or underscores in their name.</p>
1571
1572<p>At the very least, strip &#8220;/&#8221; characters out of a language name.</p>
1573
1574</div>
1575
1576<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>
1577
1578<p>What happens if all of a sudden you want to use language files from a different directory from the current
1579language file location? You call the <code class="highlighted php">set_language_path<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1580
1581<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_language_path</span><span class="br0">&#40;</span><span class="re0">$newpath</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1582
1583<p>It doesn&#8217;t matter whether the path has a trailing slash after it or not - only that it points to a valid folder.
1584If it doesn&#8217;t, that&#8217;s your tough luck ;)</p>
1585
1586<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>
1587
1588<div class="note">
1589
1590<div class="note-header">Note:</div>
1591
1592<p>Although <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself does not require to know the exact charset of your source you
1593  will need to set this option when processing sources where multi-byte characters can occur.
1594  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
1595  due to a security flaw in that function that is unpatched in even the most recent PHP4 versions and in PHP5 &lt; 5.2.
1596  Although this does no longer explicitely require the charset it is required again
1597  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>
1598
1599</div>
1600
1601<div class="note">
1602
1603<div class="note-header">Note:</div>
1604
1605<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the default charset has been changed to UTF-8.</p>
1606
1607</div>
1608
1609<p>As of version 1.0.3, you can use the method <code class="highlighted php">set_encoding<span class="br0">&#40;</span><span class="br0">&#41;</span></code> to specify the character set that your source
1610is in. Valid names are those names that are valid for the <abbr title="PHP: HTML Preprocessor">PHP</abbr> mbstring library:</p>
1611
1612<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_encoding</span><span class="br0">&#40;</span><span class="re0">$encoding</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1613
1614<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
1615specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.</p>
1616
1617<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>
1618
1619<p>What happens if you try to highlight using a language that doesn&#8217;t exist? Or if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can&#8217;t read a required file?
1620The 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>
1621provides ways of finding out if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself found anything wrong with what you tried to do. After highlighting,
1622you can call the <code class="highlighted php">error<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1623
1624<p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><span class="st_h">'hi'</span><span class="sy0">,</span> <span class="st_h">'thisLangIsNotSupported'</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1625
1626<p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// echoes error message</span></code></p>
1627
1628<p>The error message you will get will look like this:</p>
1629
1630<blockquote>
1631  <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>
1632</blockquote>
1633
1634<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">&#40;</span><span class="br0">&#41;</span></code> works.</p>
1635
1636<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>
1637
1638<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
1639every option turned on. Although future releases will concentrate on the speed/resource side of highlighting,
1640you can gain speed by disabling some of the highlighting options. This is done by using a
1641series of <code class="highlighted php">set_<span class="sy0">*</span>_highlighting</code> methods:</p>
1642
1643<dl>
1644<dt><code class="highlighted php">set_keyword_group_highlighting<span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">&#41;</span><span class="sy0">:</span></code></dt>
1645<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
1646language file(s) to see what <code class="highlighted php"><span class="re0">$group</span></code> should be for each group (typically a positive integer).
1647<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
1648to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a
1649related URL one will not be generated for that keyword.</dd>
1650
1651<dt><code class="highlighted php">set_comments_highlighting<span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">&#41;</span><span class="sy0">:</span></code></dt>
1652<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
1653language 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
1654string <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
1655highlighting 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>
1656
1657<dt><code class="highlighted php">set_regexps_highlighting<span class="br0">&#40;</span><span class="re0">$regexp</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">&#41;</span><span class="sy0">:</span></code></dt>
1658<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)
1659to 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>
1660for 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,
1661and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd>
1662</dl>
1663
1664<p>The following methods:</p>
1665
1666<ul>
1667<li><code class="highlighted php">set_escape_characters_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span></code></li>
1668<li><code class="highlighted php">set_symbols_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span></code></li>
1669<li><code class="highlighted php">set_strings_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span></code></li>
1670<li><code class="highlighted php">set_numbers_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span></code></li>
1671<li><code class="highlighted php">set_methods_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span></code></li>
1672</ul>
1673
1674<p>Work on their respective lexics (e.g. <code class="highlighted php">set_methods_highlighting<span class="br0">&#40;</span><span class="br0">&#41;</span></code> will disable/enable highlighting of methods).
1675For 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
1676means no <abbr title="Hypertext Markup Language">HTML</abbr> will surround the lexic like usual, saving on time and bandwidth.</p>
1677
1678<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">&#40;</span><span class="br0">&#41;</span></code>
1679and <code class="highlighted php">enable_highlighting<span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</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
1680the 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
1681highlighting off. Since 1.0.7.21 the method <code class="highlighted php">disnable_highlighting<span class="br0">&#40;</span><span class="br0">&#41;</span></code> has become deprecated.</p>
1682
1683<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>
1684
1685<p>If you&#8217;re using the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">pre</span>&gt;</span></code> header, tabs are handled automatically by your browser, and in general you can
1686count on good results. However, if you&#8217;re using the <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code> header, you may want to specify a tab
1687width explicitly.</p>
1688
1689<p>Note that tabs created in this fashion won&#8217;t be like normal tabs - there won&#8217;t be &#8220;tab-stops&#8221; as such, instead
1690tabs will be replaced with the specified number of spaces - just like most editors do.</p>
1691
1692<p>To change the tab width, you call the <code class="highlighted php">set_tab_width<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1693
1694<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_tab_width</span><span class="br0">&#40;</span><span class="re0">$width</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1695
1696<p>Where <code class="highlighted php"><span class="re0">$width</span></code> is the width in spaces that you&#8217;d like tabs to be.</p>
1697
1698<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>
1699
1700<p>Some languages like to get tricky, and jump in and out of the file that they&#8217;re in. For example, the vast
1701majority 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&#8217;s
1702within delimiters like <code class="highlighted php"><span class="kw2">&lt;?php</span></code> and <code class="highlighted php"><span class="sy1">?&gt;</span></code> (there are others of course&#8230;). So what happens if you do the
1703following in a php file?</p>
1704
1705<p><code class="highlighted php">&lt;img src=&quot;<span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="kw3">rand</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">&#41;</span> <span class="sy1">?&gt;</span>&quot; /&gt;</code></p>
1706
1707<p>When using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> without strict mode, or using a bad highlighter, you&#8217;ll end up with scrambled crap,
1708especially if you&#8217;re being slack about where you&#8217;re putting your quotes, you could end up with the rest
1709of your file as bright blue. Fortunately, you can tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to be &#8220;strict&#8221; about just when it highlights
1710and when it does not, using the <code class="highlighted php">enable_strict_mode<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1711
1712<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_strict_mode</span><span class="br0">&#40;</span><span class="re0">$mode</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1713
1714<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
1715strict mode if you&#8217;ve already turned it and don&#8217;t want it now.</p>
1716
1717<div class="note">
1718
1719<div class="note-header">Note:</div>
1720
1721<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
1722  which is somewhat more intelligent than in previous releases. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now also
1723  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>.
1724  Basically <code class="highlighted php">GESHI_ALWAYS</code> (<code class="highlighted php"><span class="kw4">true</span></code>) always enables strict mode,
1725  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
1726  <code class="highlighted php">GESHI_MAYBE</code> which enables strict mode if it finds any sequences of code
1727  that look like strict block delimiters.</p>
1728
1729<p>By the way: That&#8217;s why this section had to be changed, as the new documentation
1730  tool we now use, applies this feature and thus auto-detects when strict mode has to be used&#8230;</p>
1731
1732</div>
1733
1734<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>
1735
1736<p>Lets say that you&#8217;re working on a large project, with many files, many classes and many functions. Perhaps also you
1737have 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
1738to refer to, whatever. Well, why not highlight the names of the functions and classes <em>your</em> project uses, as well
1739as the standard functions and classes? Or perhaps you&#8217;re not interested in highlighting certain functions, and would
1740like to remove them? Or maybe you don&#8217;t mind if an entire function group goes west in the interest of speed? <abbr title="Generic Syntax Highlighter">GeSHi</abbr>
1741can handle all of this!</p>
1742
1743<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>
1744
1745<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>
1746
1747<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">add_keyword</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1748
1749<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
1750the word to add.</p>
1751
1752<p>This implies knowledge of the language file to know the correct index.</p>
1753
1754<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>
1755
1756<p>Perhaps you want to remove a keyword from an existing group. Maybe you don&#8217;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>
1757
1758<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">remove_keyword</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1759
1760<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
1761<code class="highlighted php"><span class="re0">$word</span></code> is the word to remove.</p>
1762
1763<p>This implies knowledge of the language file to know the correct index - most of the time the keywords you&#8217;ll
1764want to remove will be in group 3, but this is not guaranteed and you should check the language file first.</p>
1765
1766<p>This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;)</p>
1767
1768<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>
1769
1770<p>Lets say for your big project you have several main functions and classes that you&#8217;d like highlighted. Why not
1771add them as their own group instead of having them highlighted the same way as other keywords? Then you can make
1772them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore,
1773you could set the URL for this group to point at the API documentation of your project.</p>
1774
1775<p>You add a keyword group by using the <code class="highlighted php">add_keyword_group</code> method:</p>
1776
1777<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">add_keyword_group</span><span class="br0">&#40;</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">&#41;</span><span class="sy0">;</span></code></p>
1778
1779<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
1780you 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
1781this 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
1782words to add to this group. For example:</p>
1783
1784<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">add_keyword_group</span><span class="br0">&#40;</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">&#40;</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">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1785
1786<p>Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword
1787can be in any case and which contains the keywords &#8220;myfunc_1&#8221;, &#8220;myfunc_2&#8221; and &#8220;myfunc_3&#8221;.</p>
1788
1789<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>
1790
1791<div class="caution">
1792
1793<div class="caution-header">Caution:</div>
1794
1795<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
1796  overwritten! Most language files don&#8217;t use numbers larger than 5, so I recommend you play it safe and use a number
1797  like 10 or 42.</p>
1798
1799</div>
1800
1801<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>
1802
1803<p>Perhaps you <em>really</em> need speed? Why not just remove an entire keyword group? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won&#8217;t have to loop through
1804each keyword checking for its existance, saving much time. You remove a keyword group by using the
1805<code class="highlighted php">remove_keyword_group</code> method:</p>
1806
1807<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">remove_keyword_group</span><span class="br0">&#40;</span><span class="re0">$key</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1808
1809<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>
1810
1811<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>
1812
1813<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
1814and footers for your code, style them, and insert information from the highlighted source into your header or footer.</p>
1815
1816<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>
1817
1818<p>In your header and footer, you can put special keywords that will be replaced with actual configuration values for
1819this <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object. The keywords you can use are:</p>
1820
1821<ul>
1822<li><strong><code>&lt;TIME&gt;</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">&#40;</span><span class="br0">&#41;</span></code> method - i.e.,
1823how long it took for your code to be highlighted. The time is returned to three decimal places.</li>
1824<li><strong><code>&lt;LANGUAGE&gt;</code></strong> or <strong><code>{LANGUAGE}</code></strong>: Is replaced by a nice, friendly version of the language name used to
1825highlight this code.</li>
1826<li><strong><code>&lt;SPEED&gt;</code></strong> or <strong><code>{SPEED}</code></strong>: Is replaced by the speed at which your source has been processed.</li>
1827<li><strong><code>&lt;VERSION&gt;</code></strong> or <strong><code>{VERSION}</code></strong>: The <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version used to highlight the code.</li>
1828</ul>
1829
1830<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>
1831
1832<p>The header for your code is a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code>, which is inside the containing block. Therefore, it is affected by
1833the 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">&lt;<span class="kw2">div</span>&gt;</span></code>.
1834You 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
1835any quotemarks or angle brackets you want displayed. You set the header content using the method
1836<code class="highlighted php">set_header_content<span class="br0">&#40;</span><span class="br0">&#41;</span></code>:</p>
1837
1838<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_content</span><span class="br0">&#40;</span><span class="re0">$content</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1839
1840<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>
1841
1842<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>
1843
1844<p>The footer for your code is a <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">div</span>&gt;</span></code>, which is inside the containing block. Therefore, it is affected by
1845the 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">&lt;<span class="kw2">div</span>&gt;</span></code>.
1846You 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
1847any quotemarks or angle brackets you want displayed. You set the footer content using the method
1848<code class="highlighted php">set_footer_content<span class="br0">&#40;</span><span class="br0">&#41;</span></code>:</p>
1849
1850<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_footer_content</span><span class="br0">&#40;</span><span class="re0">$content</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1851
1852<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>
1853
1854<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>
1855
1856<p>You can apply styles to the header content you have set with the <code class="highlighted php">set_header_content_style</code>:</p>
1857
1858<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_content_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1859
1860<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>
1861
1862<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>
1863
1864<p>You can apply styles to the footer content you have set with the <code class="highlighted php">set_footer_content_style</code>:</p>
1865
1866<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_footer_content_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1867
1868<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>
1869
1870<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>
1871
1872<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
1873the keywords in that group into URLs to appropriate documentation. And using <code class="highlighted php">add_keyword_group</code> you
1874can add functions and classes from your own projects and use the URL functionality to provide a link to your
1875own API documentation.</p>
1876
1877<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>
1878
1879<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">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1880
1881<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_url_for_keyword_group</span><span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1882
1883<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
1884this group of keywords.</p>
1885
1886<p>You may be wondering how to make each keyword in the group point to the correct URL. You do this by putting
1887<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>
1888to the documentation for that function, so the URL used is <code>http://www.php.net/{FNAME}</code>.</p>
1889
1890<p>Of course, when you get to a language like Java, that puts its class documentation in related folders, it gets a
1891little trickier to work out an appropriate URL (see the Java language file!). I hope to provide some kind of
1892redirection service at the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> website in the future.</p>
1893
1894<div class="note">
1895
1896<div class="note-header">Note:</div>
1897
1898<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>
1899  will generate the lowercase version of the keyword, <code>{FNAMEU}</code> will generate the uppercase version. <code>{FNAME}</code>
1900  will provide the keyword as specified in the language file. <strong>Use one of these more specific placeholders
1901  if possible</strong>, as they result in less overhead while linking for case insensitive languages.</p>
1902
1903</div>
1904
1905<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>
1906
1907<p>It&#8217;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">&#40;</span><span class="br0">&#41;</span></code> to pass
1908an empty string as the URL:</p>
1909
1910<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_url_for_keyword_group</span><span class="br0">&#40;</span><span class="re0">$group</span><span class="sy0">,</span> <span class="st_h">''</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1911
1912<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>
1913
1914<p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18, you can disable all URL linking for keywords:</p>
1915
1916<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_keyword_links</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1917
1918<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>
1919
1920<p>You can also style the function links. You can style their default status, hovered, active and visited status.
1921All of this is controlled by one method, <code class="highlighted php">set_link_styles<span class="br0">&#40;</span><span class="br0">&#41;</span></code>:</p>
1922
1923<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_link_styles</span><span class="br0">&#40;</span><span class="re0">$mode</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1924
1925<p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is one of four values:</p>
1926
1927<ul>
1928<li><strong><code class="highlighted php">GESHI_LINK</code>:</strong> The default style of the links.</li>
1929<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>
1930<li><strong><code class="highlighted php">GESHI_ACTIVE</code>:</strong> The style of the links when they are being clicked.</li>
1931<li><strong><code class="highlighted php">GESHI_VISITED</code>:</strong> The style of links that the user has already visited.</li>
1932</ul>
1933
1934<p>And <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations to apply to the links.</p>
1935
1936<div class="note">
1937
1938<div class="note-header">Note:</div>
1939
1940<p>The names <code class="highlighted php">GESHI_LINK</code>, <code class="highlighted php">GESHI_HOVER</code> &#8230; are constants. Don&#8217;t put them in quotes!</p>
1941
1942</div>
1943
1944<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>
1945
1946<p>Perhaps you want to set the target of link attributes, so the manual pages open in a new window? Use the
1947<code class="highlighted php">set_link_target<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
1948
1949<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_link_target</span><span class="br0">&#40;</span><span class="re0">$target</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1950
1951<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>
1952
1953<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>
1954
1955<div class="caution">
1956
1957<div class="caution-header">Caution:</div>
1958
1959<p>This functionality is not only buggy, but is proving very hard to implement in 1.1.X. Therefore, this
1960  functionality may well be <strong>removed</strong> in 1.2.0. You are hereby warned!</p>
1961
1962</div>
1963
1964<p>This feature allows you to mark a part of your source as important. But as the
1965implementation its use is deprecated and you should consider using
1966the &#8220;Highlight Lines Extra&#8221; feature described below.</p>
1967
1968<h3 id="highlighting-special-lines-extra">3.15 Highlighting Special Lines &#8220;Extra&#8221;</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>
1969
1970<p>An alternative (and more stable) method of highlighting code that is important
1971is to use extra highlighting by line. Although you may not know what line numbers
1972contain the important lines, if you do this method is a much more flexible way of
1973making important lines stand out.</p>
1974
1975<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>
1976
1977<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">&#40;</span><span class="br0">&#41;</span></code>:</p>
1978
1979<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">highlight_lines_extra</span><span class="br0">&#40;</span><span class="re0">$array</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
1980
1981<p>The array could be in the form <code class="highlighted php"><span class="kw3">array</span><span class="br0">&#40;</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">&#41;</span></code>, made from a DB query, generated
1982from looking through the source for certain important things and working out what line those things are&#8230;
1983However you get the line numbers, the array should simply be an array of integers.</p>
1984
1985<p>Here&#8217;s an example, using the same source as before:</p>
1986
1987<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
1988<span class="xtra li2"><span class="de2">2</span></span>3
1989<span class="xtra li2"><span class="de2">4</span></span>5
1990<span class="xtra li2"><span class="de2">6</span></span>7
1991<span class="xtra li2"><span class="de2">8</span></span>9
1992<span class="xtra li2"><span class="de2">10</span></span>11
1993<span class="xtra li2"><span class="de2">12</span></span>13
1994<span class="xtra li2"><span class="de2">14</span></span>15
1995<span class="xtra li2"><span class="de2">16</span></span>17
1996<span class="xtra li2"><span class="de2">18</span></span>19
1997<span class="xtra li2"><span class="de2">20</span></span>21
1998</pre></td><td class="de1"><pre class="de1"><span class="co1">//</span>
1999<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>
2000<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>
2001<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp;int [][] ans = new int[n][m];</span></span></span><span class="st_h"> &nbsp;for ( int i = 0; i &lt; n; i++ )</span>
2002<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp;{</span></span></span><span class="st_h"> &nbsp; &nbsp;for ( int j = 0; i &lt; m; j++ )</span>
2003<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp; &nbsp;{</span></span></span><span class="st_h"> &nbsp; &nbsp; &nbsp;ans[i][j] = i * j;</span>
2004<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp; &nbsp;}</span></span></span><span class="st_h"> &nbsp;}</span>
2005<span class="xtra li2"><span class="de2"><span class="st_h"> &nbsp;return ans;</span></span></span><span class="st_h">}'</span><span class="sy0">;</span>
2006<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">&#41;</span><span class="sy0">;</span>
2007<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">highlight_lines_extra</span><span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="nu0">8</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
2008<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></td></tr></tbody></table>
2009
2010<p>Which produces:</p>
2011
2012<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
2013<span class="xtra li2"><span class="de2">2</span></span>3
2014<span class="xtra li2"><span class="de2">4</span></span>5
2015<span class="xtra li2"><span class="de2">6</span></span>7
2016<span class="xtra li2"><span class="de2"><span class="xtra ln-xtra">8</span></span></span>9
2017<span class="xtra li2"><span class="de2">10</span></span>11
2018<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">&#91;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span> product <span class="br0">&#40;</span> n, m <span class="br0">&#41;</span>
2019<span class="xtra li2"><span class="de2"><span class="br0">&#123;</span></span></span>&nbsp; <span class="kw4">int</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span> ans <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">int</span><span class="br0">&#91;</span>n<span class="br0">&#93;</span><span class="br0">&#91;</span>m<span class="br0">&#93;</span><span class="sy0">;</span>
2020<span class="xtra li2"><span class="de2">&nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> n<span class="sy0">;</span> i<span class="sy0">++</span> <span class="br0">&#41;</span></span></span>&nbsp; <span class="br0">&#123;</span>
2021<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw4">int</span> j <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> m<span class="sy0">;</span> j<span class="sy0">++</span> <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; <span class="br0">&#123;</span>
2022<span class="xtra li2"><span class="de2"><span class="xtra ln-xtra">&nbsp; &nbsp; &nbsp; ans<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#91;</span>j<span class="br0">&#93;</span> <span class="sy0">=</span> i <span class="sy0">*</span> j<span class="sy0">;</span></span></span></span>&nbsp; &nbsp; <span class="br0">&#125;</span>
2023<span class="xtra li2"><span class="de2">&nbsp; <span class="br0">&#125;</span></span></span>&nbsp; <span class="kw1">return</span> ans<span class="sy0">;</span>
2024<span class="xtra li2"><span class="de2"><span class="br0">&#125;</span></span></span></pre></td></tr></tbody></table>
2025
2026<p>What&#8217;s more, as you can see the code on a highlighted line is still actually highlighted itself.</p>
2027
2028<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>
2029
2030<p>Again as with contextual importance, you&#8217;re not chained to the yellow theme that is the default. You can
2031use the <code class="highlighted php">set_highlight_lines_extra_style</code> method:</p>
2032
2033<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_highlight_lines_extra_style</span><span class="br0">&#40;</span><span class="re0">$styles</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
2034
2035<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>
2036
2037<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>
2038
2039<p>Perhaps you&#8217;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
2040javascript, 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
2041in the previous section). To enable IDs you call the <code class="highlighted php">enable_ids<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
2042
2043<p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_ids</span><span class="br0">&#40;</span><span class="re0">$flag</span><span class="br0">&#41;</span><span class="sy0">;</span></code></p>
2044
2045<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>
2046
2047<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
2048be &#8220;mycode&#8221;, then the IDs for each line would by &#8220;mycode-1&#8221;, &#8220;mycode-2&#8221; etc. If there is no <abbr title="Cascading Style Sheets">CSS</abbr> ID set, then one is
2049made 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>
2050
2051<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>
2052
2053<p>Once you&#8217;ve called <code class="highlighted php">parse_code<span class="br0">&#40;</span><span class="br0">&#41;</span></code>, you can get the time it took to run the highlighting by calling the
2054<code class="highlighted php">get_time<span class="br0">&#40;</span><span class="br0">&#41;</span></code> method:</p>
2055
2056<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
2057<span class="xtra li2"><span class="de2">2</span></span>3
2058<span class="xtra li2"><span class="de2">4</span></span>5
2059<span class="xtra li2"><span class="de2">6</span></span>7
2060</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">&#40;</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">&#41;</span><span class="sy0">;</span>
2061<span class="xtra li2"><span class="de2">&nbsp;</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">&#40;</span><span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">parse_code</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
2062<span class="xtra li2"><span class="de2"><span class="re0">$time</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">get_time</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
2063<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">&#40;</span><span class="st0">&quot;INSERT INTO code VALUES ('<span class="es4">$code</span>', '<span class="es4">$time</span>')&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></td></tr></tbody></table>
2064
2065<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>
2066
2067<p>So now you know what features <abbr title="Generic Syntax Highlighter">GeSHi</abbr> offers, and perhaps you&#8217;ve even meddled with the source. Or perhaps
2068you&#8217;d like a language file for language X but it doesn&#8217;t seem to be supported? Rubbish! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will highlight
2069anything, what do you think I coded this for? ^_^ You&#8217;ll just have to learn how to make a language file
2070yourself. And I promise it&#8217;s not too hard - and if you&#8217;re here you&#8217;re in the right place!</p>
2071
2072<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>
2073
2074<p>Let&#8217;s begin by looking at an example language file - the language file for the first language ever supported,
2075<abbr title="PHP: HTML Preprocessor">PHP</abbr>:</p>
2076
2077<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
2078<span class="xtra li2"><span class="de2">2</span></span>3
2079<span class="xtra li2"><span class="de2">4</span></span>5
2080<span class="xtra li2"><span class="de2">6</span></span>7
2081<span class="xtra li2"><span class="de2">8</span></span>9
2082<span class="xtra li2"><span class="de2">10</span></span>11
2083<span class="xtra li2"><span class="de2">12</span></span>13
2084<span class="xtra li2"><span class="de2">14</span></span>15
2085<span class="xtra li2"><span class="de2">16</span></span>17
2086<span class="xtra li2"><span class="de2">18</span></span>19
2087<span class="xtra li2"><span class="de2">20</span></span>21
2088<span class="xtra li2"><span class="de2">22</span></span>23
2089<span class="xtra li2"><span class="de2">24</span></span>25
2090<span class="xtra li2"><span class="de2">26</span></span>27
2091<span class="xtra li2"><span class="de2">28</span></span>29
2092<span class="xtra li2"><span class="de2">30</span></span>31
2093<span class="xtra li2"><span class="de2">32</span></span>33
2094<span class="xtra li2"><span class="de2">34</span></span>35
2095<span class="xtra li2"><span class="de2">36</span></span>37
2096<span class="xtra li2"><span class="de2">38</span></span>39
2097<span class="xtra li2"><span class="de2">40</span></span>41
2098<span class="xtra li2"><span class="de2">42</span></span>43
2099<span class="xtra li2"><span class="de2">44</span></span>45
2100<span class="xtra li2"><span class="de2">46</span></span>47
2101<span class="xtra li2"><span class="de2">48</span></span>49
2102<span class="xtra li2"><span class="de2">50</span></span>51
2103<span class="xtra li2"><span class="de2">52</span></span>53
2104<span class="xtra li2"><span class="de2">54</span></span>55
2105<span class="xtra li2"><span class="de2">56</span></span>57
2106<span class="xtra li2"><span class="de2">58</span></span>59
2107<span class="xtra li2"><span class="de2">60</span></span>61
2108<span class="xtra li2"><span class="de2">62</span></span>63
2109<span class="xtra li2"><span class="de2">64</span></span>65
2110<span class="xtra li2"><span class="de2">66</span></span>67
2111<span class="xtra li2"><span class="de2">68</span></span>69
2112<span class="xtra li2"><span class="de2">70</span></span>71
2113<span class="xtra li2"><span class="de2">72</span></span>73
2114<span class="xtra li2"><span class="de2">74</span></span>75
2115<span class="xtra li2"><span class="de2">76</span></span>77
2116<span class="xtra li2"><span class="de2">78</span></span>79
2117<span class="xtra li2"><span class="de2">80</span></span>81
2118<span class="xtra li2"><span class="de2">82</span></span>83
2119<span class="xtra li2"><span class="de2">84</span></span>85
2120<span class="xtra li2"><span class="de2">86</span></span>87
2121<span class="xtra li2"><span class="de2">88</span></span>89
2122<span class="xtra li2"><span class="de2">90</span></span>91
2123<span class="xtra li2"><span class="de2">92</span></span>93
2124<span class="xtra li2"><span class="de2">94</span></span>95
2125<span class="xtra li2"><span class="de2">96</span></span>97
2126<span class="xtra li2"><span class="de2">98</span></span>99
2127<span class="xtra li2"><span class="de2">100</span></span>101
2128<span class="xtra li2"><span class="de2">102</span></span>103
2129<span class="xtra li2"><span class="de2">104</span></span>105
2130<span class="xtra li2"><span class="de2">106</span></span>107
2131<span class="xtra li2"><span class="de2">108</span></span>109
2132<span class="xtra li2"><span class="de2">110</span></span>111
2133<span class="xtra li2"><span class="de2">112</span></span>113
2134<span class="xtra li2"><span class="de2">114</span></span>115
2135<span class="xtra li2"><span class="de2">116</span></span>117
2136<span class="xtra li2"><span class="de2">118</span></span>119
2137<span class="xtra li2"><span class="de2">120</span></span>121
2138<span class="xtra li2"><span class="de2">122</span></span>123
2139<span class="xtra li2"><span class="de2">124</span></span>125
2140<span class="xtra li2"><span class="de2">126</span></span>127
2141<span class="xtra li2"><span class="de2">128</span></span>129
2142<span class="xtra li2"><span class="de2">130</span></span>131
2143<span class="xtra li2"><span class="de2">132</span></span>133
2144<span class="xtra li2"><span class="de2">134</span></span>135
2145<span class="xtra li2"><span class="de2">136</span></span>137
2146<span class="xtra li2"><span class="de2">138</span></span>139
2147<span class="xtra li2"><span class="de2">140</span></span>141
2148<span class="xtra li2"><span class="de2">142</span></span>143
2149<span class="xtra li2"><span class="de2">144</span></span>145
2150<span class="xtra li2"><span class="de2">146</span></span>147
2151<span class="xtra li2"><span class="de2">148</span></span>149
2152<span class="xtra li2"><span class="de2">150</span></span>151
2153<span class="xtra li2"><span class="de2">152</span></span>153
2154<span class="xtra li2"><span class="de2">154</span></span>155
2155<span class="xtra li2"><span class="de2">156</span></span>157
2156<span class="xtra li2"><span class="de2">158</span></span>159
2157<span class="xtra li2"><span class="de2">160</span></span>161
2158<span class="xtra li2"><span class="de2">162</span></span>163
2159<span class="xtra li2"><span class="de2">164</span></span>165
2160<span class="xtra li2"><span class="de2">166</span></span>167
2161<span class="xtra li2"><span class="de2">168</span></span>169
2162<span class="xtra li2"><span class="de2">170</span></span>171
2163<span class="xtra li2"><span class="de2">172</span></span>173
2164<span class="xtra li2"><span class="de2">174</span></span>175
2165<span class="xtra li2"><span class="de2">176</span></span>177
2166<span class="xtra li2"><span class="de2">178</span></span>179
2167<span class="xtra li2"><span class="de2">180</span></span>181
2168<span class="xtra li2"><span class="de2">182</span></span>183
2169<span class="xtra li2"><span class="de2">184</span></span>185
2170<span class="xtra li2"><span class="de2">186</span></span>187
2171<span class="xtra li2"><span class="de2">188</span></span>189
2172<span class="xtra li2"><span class="de2">190</span></span>191
2173<span class="xtra li2"><span class="de2">192</span></span>193
2174<span class="xtra li2"><span class="de2">194</span></span>195
2175<span class="xtra li2"><span class="de2">196</span></span>197
2176<span class="xtra li2"><span class="de2">198</span></span>199
2177<span class="xtra li2"><span class="de2">200</span></span>201
2178<span class="xtra li2"><span class="de2">202</span></span>203
2179<span class="xtra li2"><span class="de2">204</span></span>205
2180<span class="xtra li2"><span class="de2">206</span></span>207
2181<span class="xtra li2"><span class="de2">208</span></span>209
2182<span class="xtra li2"><span class="de2">210</span></span>211
2183<span class="xtra li2"><span class="de2">212</span></span>213
2184<span class="xtra li2"><span class="de2">214</span></span>215
2185<span class="xtra li2"><span class="de2">216</span></span>217
2186<span class="xtra li2"><span class="de2">218</span></span>219
2187<span class="xtra li2"><span class="de2">220</span></span>221
2188<span class="xtra li2"><span class="de2">222</span></span>223
2189<span class="xtra li2"><span class="de2">224</span></span>225
2190<span class="xtra li2"><span class="de2">226</span></span>227
2191<span class="xtra li2"><span class="de2">228</span></span>229
2192<span class="xtra li2"><span class="de2">230</span></span>231
2193<span class="xtra li2"><span class="de2">232</span></span>233
2194<span class="xtra li2"><span class="de2">234</span></span>235
2195<span class="xtra li2"><span class="de2">236</span></span>237
2196<span class="xtra li2"><span class="de2">238</span></span>239
2197<span class="xtra li2"><span class="de2">240</span></span>241
2198<span class="xtra li2"><span class="de2">242</span></span>243
2199<span class="xtra li2"><span class="de2">244</span></span>245
2200<span class="xtra li2"><span class="de2">246</span></span>247
2201<span class="xtra li2"><span class="de2">248</span></span>249
2202<span class="xtra li2"><span class="de2">250</span></span>251
2203<span class="xtra li2"><span class="de2">252</span></span>253
2204<span class="xtra li2"><span class="de2">254</span></span>255
2205<span class="xtra li2"><span class="de2">256</span></span>257
2206<span class="xtra li2"><span class="de2">258</span></span>259
2207<span class="xtra li2"><span class="de2">260</span></span>261
2208<span class="xtra li2"><span class="de2">262</span></span>263
2209<span class="xtra li2"><span class="de2">264</span></span>265
2210<span class="xtra li2"><span class="de2">266</span></span>267
2211<span class="xtra li2"><span class="de2">268</span></span>269
2212<span class="xtra li2"><span class="de2">270</span></span>271
2213<span class="xtra li2"><span class="de2">272</span></span>273
2214<span class="xtra li2"><span class="de2">274</span></span>275
2215<span class="xtra li2"><span class="de2">276</span></span>277
2216<span class="xtra li2"><span class="de2">278</span></span>279
2217<span class="xtra li2"><span class="de2">280</span></span>281
2218<span class="xtra li2"><span class="de2">282</span></span>283
2219<span class="xtra li2"><span class="de2">284</span></span>285
2220<span class="xtra li2"><span class="de2">286</span></span>287
2221<span class="xtra li2"><span class="de2">288</span></span>289
2222<span class="xtra li2"><span class="de2">290</span></span>291
2223<span class="xtra li2"><span class="de2">292</span></span>293
2224<span class="xtra li2"><span class="de2">294</span></span>295
2225<span class="xtra li2"><span class="de2">296</span></span>297
2226<span class="xtra li2"><span class="de2">298</span></span>299
2227<span class="xtra li2"><span class="de2">300</span></span>301
2228<span class="xtra li2"><span class="de2">302</span></span>303
2229<span class="xtra li2"><span class="de2">304</span></span>305
2230<span class="xtra li2"><span class="de2">306</span></span>307
2231<span class="xtra li2"><span class="de2">308</span></span>309
2232<span class="xtra li2"><span class="de2">310</span></span>311
2233<span class="xtra li2"><span class="de2">312</span></span>313
2234<span class="xtra li2"><span class="de2">314</span></span>315
2235<span class="xtra li2"><span class="de2">316</span></span>317
2236<span class="xtra li2"><span class="de2">318</span></span>319
2237<span class="xtra li2"><span class="de2">320</span></span>321
2238<span class="xtra li2"><span class="de2">322</span></span>323
2239<span class="xtra li2"><span class="de2">324</span></span>325
2240<span class="xtra li2"><span class="de2">326</span></span>327
2241<span class="xtra li2"><span class="de2">328</span></span>329
2242<span class="xtra li2"><span class="de2">330</span></span>331
2243<span class="xtra li2"><span class="de2">332</span></span>333
2244<span class="xtra li2"><span class="de2">334</span></span>335
2245<span class="xtra li2"><span class="de2">336</span></span>337
2246<span class="xtra li2"><span class="de2">338</span></span>339
2247<span class="xtra li2"><span class="de2">340</span></span>341
2248<span class="xtra li2"><span class="de2">342</span></span>343
2249<span class="xtra li2"><span class="de2">344</span></span>345
2250<span class="xtra li2"><span class="de2">346</span></span>347
2251<span class="xtra li2"><span class="de2">348</span></span>349
2252<span class="xtra li2"><span class="de2">350</span></span>351
2253<span class="xtra li2"><span class="de2">352</span></span>353
2254<span class="xtra li2"><span class="de2">354</span></span>355
2255<span class="xtra li2"><span class="de2">356</span></span>357
2256<span class="xtra li2"><span class="de2">358</span></span>359
2257<span class="xtra li2"><span class="de2">360</span></span>361
2258<span class="xtra li2"><span class="de2">362</span></span>363
2259<span class="xtra li2"><span class="de2">364</span></span>365
2260<span class="xtra li2"><span class="de2">366</span></span>367
2261<span class="xtra li2"><span class="de2">368</span></span>369
2262<span class="xtra li2"><span class="de2">370</span></span>371
2263<span class="xtra li2"><span class="de2">372</span></span>373
2264<span class="xtra li2"><span class="de2">374</span></span>375
2265<span class="xtra li2"><span class="de2">376</span></span>377
2266<span class="xtra li2"><span class="de2">378</span></span>379
2267<span class="xtra li2"><span class="de2">380</span></span>381
2268<span class="xtra li2"><span class="de2">382</span></span>383
2269<span class="xtra li2"><span class="de2">384</span></span>385
2270<span class="xtra li2"><span class="de2">386</span></span>387
2271<span class="xtra li2"><span class="de2">388</span></span>389
2272<span class="xtra li2"><span class="de2">390</span></span>391
2273<span class="xtra li2"><span class="de2">392</span></span>393
2274<span class="xtra li2"><span class="de2">394</span></span>395
2275<span class="xtra li2"><span class="de2">396</span></span>397
2276<span class="xtra li2"><span class="de2">398</span></span>399
2277<span class="xtra li2"><span class="de2">400</span></span>401
2278<span class="xtra li2"><span class="de2">402</span></span>403
2279<span class="xtra li2"><span class="de2">404</span></span>405
2280<span class="xtra li2"><span class="de2">406</span></span>407
2281<span class="xtra li2"><span class="de2">408</span></span>409
2282<span class="xtra li2"><span class="de2">410</span></span>411
2283<span class="xtra li2"><span class="de2">412</span></span>413
2284<span class="xtra li2"><span class="de2">414</span></span>415
2285<span class="xtra li2"><span class="de2">416</span></span>417
2286<span class="xtra li2"><span class="de2">418</span></span>419
2287<span class="xtra li2"><span class="de2">420</span></span>421
2288<span class="xtra li2"><span class="de2">422</span></span>423
2289<span class="xtra li2"><span class="de2">424</span></span>425
2290<span class="xtra li2"><span class="de2">426</span></span>427
2291<span class="xtra li2"><span class="de2">428</span></span>429
2292<span class="xtra li2"><span class="de2">430</span></span>431
2293<span class="xtra li2"><span class="de2">432</span></span>433
2294<span class="xtra li2"><span class="de2">434</span></span>435
2295<span class="xtra li2"><span class="de2">436</span></span>437
2296<span class="xtra li2"><span class="de2">438</span></span>439
2297<span class="xtra li2"><span class="de2">440</span></span>441
2298<span class="xtra li2"><span class="de2">442</span></span>443
2299<span class="xtra li2"><span class="de2">444</span></span>445
2300<span class="xtra li2"><span class="de2">446</span></span>447
2301<span class="xtra li2"><span class="de2">448</span></span>449
2302<span class="xtra li2"><span class="de2">450</span></span>451
2303<span class="xtra li2"><span class="de2">452</span></span>453
2304<span class="xtra li2"><span class="de2">454</span></span>455
2305<span class="xtra li2"><span class="de2">456</span></span>457
2306<span class="xtra li2"><span class="de2">458</span></span>459
2307<span class="xtra li2"><span class="de2">460</span></span>461
2308<span class="xtra li2"><span class="de2">462</span></span>463
2309<span class="xtra li2"><span class="de2">464</span></span>465
2310<span class="xtra li2"><span class="de2">466</span></span>467
2311<span class="xtra li2"><span class="de2">468</span></span>469
2312<span class="xtra li2"><span class="de2">470</span></span>471
2313<span class="xtra li2"><span class="de2">472</span></span>473
2314<span class="xtra li2"><span class="de2">474</span></span>475
2315<span class="xtra li2"><span class="de2">476</span></span>477
2316<span class="xtra li2"><span class="de2">478</span></span>479
2317<span class="xtra li2"><span class="de2">480</span></span>481
2318<span class="xtra li2"><span class="de2">482</span></span>483
2319<span class="xtra li2"><span class="de2">484</span></span>485
2320<span class="xtra li2"><span class="de2">486</span></span>487
2321<span class="xtra li2"><span class="de2">488</span></span>489
2322<span class="xtra li2"><span class="de2">490</span></span>491
2323<span class="xtra li2"><span class="de2">492</span></span>493
2324<span class="xtra li2"><span class="de2">494</span></span>495
2325<span class="xtra li2"><span class="de2">496</span></span>497
2326<span class="xtra li2"><span class="de2">498</span></span>499
2327<span class="xtra li2"><span class="de2">500</span></span>501
2328<span class="xtra li2"><span class="de2">502</span></span>503
2329<span class="xtra li2"><span class="de2">504</span></span>505
2330<span class="xtra li2"><span class="de2">506</span></span>507
2331<span class="xtra li2"><span class="de2">508</span></span>509
2332<span class="xtra li2"><span class="de2">510</span></span>511
2333<span class="xtra li2"><span class="de2">512</span></span>513
2334<span class="xtra li2"><span class="de2">514</span></span>515
2335<span class="xtra li2"><span class="de2">516</span></span>517
2336<span class="xtra li2"><span class="de2">518</span></span>519
2337<span class="xtra li2"><span class="de2">520</span></span>521
2338<span class="xtra li2"><span class="de2">522</span></span>523
2339<span class="xtra li2"><span class="de2">524</span></span>525
2340<span class="xtra li2"><span class="de2">526</span></span>527
2341<span class="xtra li2"><span class="de2">528</span></span>529
2342<span class="xtra li2"><span class="de2">530</span></span>531
2343<span class="xtra li2"><span class="de2">532</span></span>533
2344<span class="xtra li2"><span class="de2">534</span></span>535
2345<span class="xtra li2"><span class="de2">536</span></span>537
2346<span class="xtra li2"><span class="de2">538</span></span>539
2347<span class="xtra li2"><span class="de2">540</span></span>541
2348<span class="xtra li2"><span class="de2">542</span></span>543
2349<span class="xtra li2"><span class="de2">544</span></span>545
2350<span class="xtra li2"><span class="de2">546</span></span>547
2351<span class="xtra li2"><span class="de2">548</span></span>549
2352<span class="xtra li2"><span class="de2">550</span></span>551
2353<span class="xtra li2"><span class="de2">552</span></span>553
2354<span class="xtra li2"><span class="de2">554</span></span>555
2355<span class="xtra li2"><span class="de2">556</span></span>557
2356<span class="xtra li2"><span class="de2">558</span></span>559
2357<span class="xtra li2"><span class="de2">560</span></span>561
2358<span class="xtra li2"><span class="de2">562</span></span>563
2359<span class="xtra li2"><span class="de2">564</span></span>565
2360<span class="xtra li2"><span class="de2">566</span></span>567
2361<span class="xtra li2"><span class="de2">568</span></span>569
2362<span class="xtra li2"><span class="de2">570</span></span>571
2363<span class="xtra li2"><span class="de2">572</span></span>573
2364<span class="xtra li2"><span class="de2">574</span></span>575
2365<span class="xtra li2"><span class="de2">576</span></span>577
2366<span class="xtra li2"><span class="de2">578</span></span>579
2367<span class="xtra li2"><span class="de2">580</span></span>581
2368<span class="xtra li2"><span class="de2">582</span></span>583
2369<span class="xtra li2"><span class="de2">584</span></span>585
2370<span class="xtra li2"><span class="de2">586</span></span>587
2371<span class="xtra li2"><span class="de2">588</span></span>589
2372<span class="xtra li2"><span class="de2">590</span></span>591
2373<span class="xtra li2"><span class="de2">592</span></span>593
2374<span class="xtra li2"><span class="de2">594</span></span>595
2375<span class="xtra li2"><span class="de2">596</span></span>597
2376<span class="xtra li2"><span class="de2">598</span></span>599
2377<span class="xtra li2"><span class="de2">600</span></span>601
2378<span class="xtra li2"><span class="de2">602</span></span>603
2379<span class="xtra li2"><span class="de2">604</span></span>605
2380<span class="xtra li2"><span class="de2">606</span></span>607
2381<span class="xtra li2"><span class="de2">608</span></span>609
2382<span class="xtra li2"><span class="de2">610</span></span>611
2383<span class="xtra li2"><span class="de2">612</span></span>613
2384<span class="xtra li2"><span class="de2">614</span></span>615
2385<span class="xtra li2"><span class="de2">616</span></span>617
2386<span class="xtra li2"><span class="de2">618</span></span>619
2387<span class="xtra li2"><span class="de2">620</span></span>621
2388<span class="xtra li2"><span class="de2">622</span></span>623
2389<span class="xtra li2"><span class="de2">624</span></span>625
2390<span class="xtra li2"><span class="de2">626</span></span>627
2391<span class="xtra li2"><span class="de2">628</span></span>629
2392<span class="xtra li2"><span class="de2">630</span></span>631
2393<span class="xtra li2"><span class="de2">632</span></span>633
2394<span class="xtra li2"><span class="de2">634</span></span>635
2395<span class="xtra li2"><span class="de2">636</span></span>637
2396<span class="xtra li2"><span class="de2">638</span></span>639
2397<span class="xtra li2"><span class="de2">640</span></span>641
2398<span class="xtra li2"><span class="de2">642</span></span>643
2399<span class="xtra li2"><span class="de2">644</span></span>645
2400<span class="xtra li2"><span class="de2">646</span></span>647
2401<span class="xtra li2"><span class="de2">648</span></span>649
2402<span class="xtra li2"><span class="de2">650</span></span>651
2403<span class="xtra li2"><span class="de2">652</span></span>653
2404<span class="xtra li2"><span class="de2">654</span></span>655
2405<span class="xtra li2"><span class="de2">656</span></span>657
2406<span class="xtra li2"><span class="de2">658</span></span>659
2407<span class="xtra li2"><span class="de2">660</span></span>661
2408<span class="xtra li2"><span class="de2">662</span></span>663
2409<span class="xtra li2"><span class="de2">664</span></span>665
2410<span class="xtra li2"><span class="de2">666</span></span>667
2411<span class="xtra li2"><span class="de2">668</span></span>669
2412<span class="xtra li2"><span class="de2">670</span></span>671
2413<span class="xtra li2"><span class="de2">672</span></span>673
2414<span class="xtra li2"><span class="de2">674</span></span>675
2415<span class="xtra li2"><span class="de2">676</span></span>677
2416<span class="xtra li2"><span class="de2">678</span></span>679
2417<span class="xtra li2"><span class="de2">680</span></span>681
2418<span class="xtra li2"><span class="de2">682</span></span>683
2419<span class="xtra li2"><span class="de2">684</span></span>685
2420<span class="xtra li2"><span class="de2">686</span></span>687
2421<span class="xtra li2"><span class="de2">688</span></span>689
2422<span class="xtra li2"><span class="de2">690</span></span>691
2423<span class="xtra li2"><span class="de2">692</span></span>693
2424<span class="xtra li2"><span class="de2">694</span></span>695
2425<span class="xtra li2"><span class="de2">696</span></span>697
2426<span class="xtra li2"><span class="de2">698</span></span>699
2427<span class="xtra li2"><span class="de2">700</span></span>701
2428<span class="xtra li2"><span class="de2">702</span></span>703
2429<span class="xtra li2"><span class="de2">704</span></span>705
2430<span class="xtra li2"><span class="de2">706</span></span>707
2431<span class="xtra li2"><span class="de2">708</span></span>709
2432<span class="xtra li2"><span class="de2">710</span></span>711
2433<span class="xtra li2"><span class="de2">712</span></span>713
2434<span class="xtra li2"><span class="de2">714</span></span>715
2435<span class="xtra li2"><span class="de2">716</span></span>717
2436<span class="xtra li2"><span class="de2">718</span></span>719
2437<span class="xtra li2"><span class="de2">720</span></span>721
2438<span class="xtra li2"><span class="de2">722</span></span>723
2439<span class="xtra li2"><span class="de2">724</span></span>725
2440<span class="xtra li2"><span class="de2">726</span></span>727
2441<span class="xtra li2"><span class="de2">728</span></span>729
2442<span class="xtra li2"><span class="de2">730</span></span>731
2443<span class="xtra li2"><span class="de2">732</span></span>733
2444<span class="xtra li2"><span class="de2">734</span></span>735
2445<span class="xtra li2"><span class="de2">736</span></span>737
2446<span class="xtra li2"><span class="de2">738</span></span>739
2447<span class="xtra li2"><span class="de2">740</span></span>741
2448<span class="xtra li2"><span class="de2">742</span></span>743
2449<span class="xtra li2"><span class="de2">744</span></span>745
2450<span class="xtra li2"><span class="de2">746</span></span>747
2451<span class="xtra li2"><span class="de2">748</span></span>749
2452<span class="xtra li2"><span class="de2">750</span></span>751
2453<span class="xtra li2"><span class="de2">752</span></span>753
2454<span class="xtra li2"><span class="de2">754</span></span>755
2455<span class="xtra li2"><span class="de2">756</span></span>757
2456<span class="xtra li2"><span class="de2">758</span></span>759
2457<span class="xtra li2"><span class="de2">760</span></span>761
2458<span class="xtra li2"><span class="de2">762</span></span>763
2459<span class="xtra li2"><span class="de2">764</span></span>765
2460<span class="xtra li2"><span class="de2">766</span></span>767
2461<span class="xtra li2"><span class="de2">768</span></span>769
2462<span class="xtra li2"><span class="de2">770</span></span>771
2463<span class="xtra li2"><span class="de2">772</span></span>773
2464<span class="xtra li2"><span class="de2">774</span></span>775
2465<span class="xtra li2"><span class="de2">776</span></span>777
2466<span class="xtra li2"><span class="de2">778</span></span>779
2467<span class="xtra li2"><span class="de2">780</span></span>781
2468<span class="xtra li2"><span class="de2">782</span></span>783
2469<span class="xtra li2"><span class="de2">784</span></span>785
2470<span class="xtra li2"><span class="de2">786</span></span>787
2471<span class="xtra li2"><span class="de2">788</span></span>789
2472<span class="xtra li2"><span class="de2">790</span></span>791
2473<span class="xtra li2"><span class="de2">792</span></span>793
2474<span class="xtra li2"><span class="de2">794</span></span>795
2475<span class="xtra li2"><span class="de2">796</span></span>797
2476<span class="xtra li2"><span class="de2">798</span></span>799
2477<span class="xtra li2"><span class="de2">800</span></span>801
2478<span class="xtra li2"><span class="de2">802</span></span>803
2479<span class="xtra li2"><span class="de2">804</span></span>805
2480<span class="xtra li2"><span class="de2">806</span></span>807
2481<span class="xtra li2"><span class="de2">808</span></span>809
2482<span class="xtra li2"><span class="de2">810</span></span>811
2483<span class="xtra li2"><span class="de2">812</span></span>813
2484<span class="xtra li2"><span class="de2">814</span></span>815
2485<span class="xtra li2"><span class="de2">816</span></span>817
2486<span class="xtra li2"><span class="de2">818</span></span>819
2487<span class="xtra li2"><span class="de2">820</span></span>821
2488<span class="xtra li2"><span class="de2">822</span></span>823
2489<span class="xtra li2"><span class="de2">824</span></span>825
2490<span class="xtra li2"><span class="de2">826</span></span>827
2491<span class="xtra li2"><span class="de2">828</span></span>829
2492<span class="xtra li2"><span class="de2">830</span></span>831
2493<span class="xtra li2"><span class="de2">832</span></span>833
2494<span class="xtra li2"><span class="de2">834</span></span>835
2495<span class="xtra li2"><span class="de2">836</span></span>837
2496<span class="xtra li2"><span class="de2">838</span></span>839
2497<span class="xtra li2"><span class="de2">840</span></span>841
2498<span class="xtra li2"><span class="de2">842</span></span>843
2499<span class="xtra li2"><span class="de2">844</span></span>845
2500<span class="xtra li2"><span class="de2">846</span></span>847
2501<span class="xtra li2"><span class="de2">848</span></span>849
2502<span class="xtra li2"><span class="de2">850</span></span>851
2503<span class="xtra li2"><span class="de2">852</span></span>853
2504<span class="xtra li2"><span class="de2">854</span></span>855
2505<span class="xtra li2"><span class="de2">856</span></span>857
2506<span class="xtra li2"><span class="de2">858</span></span>859
2507<span class="xtra li2"><span class="de2">860</span></span>861
2508<span class="xtra li2"><span class="de2">862</span></span>863
2509<span class="xtra li2"><span class="de2">864</span></span>865
2510<span class="xtra li2"><span class="de2">866</span></span>867
2511<span class="xtra li2"><span class="de2">868</span></span>869
2512<span class="xtra li2"><span class="de2">870</span></span>871
2513<span class="xtra li2"><span class="de2">872</span></span>873
2514<span class="xtra li2"><span class="de2">874</span></span>875
2515<span class="xtra li2"><span class="de2">876</span></span>877
2516<span class="xtra li2"><span class="de2">878</span></span>879
2517<span class="xtra li2"><span class="de2">880</span></span>881
2518<span class="xtra li2"><span class="de2">882</span></span>883
2519<span class="xtra li2"><span class="de2">884</span></span>885
2520<span class="xtra li2"><span class="de2">886</span></span>887
2521<span class="xtra li2"><span class="de2">888</span></span>889
2522<span class="xtra li2"><span class="de2">890</span></span>891
2523<span class="xtra li2"><span class="de2">892</span></span>893
2524<span class="xtra li2"><span class="de2">894</span></span>895
2525<span class="xtra li2"><span class="de2">896</span></span>897
2526<span class="xtra li2"><span class="de2">898</span></span>899
2527<span class="xtra li2"><span class="de2">900</span></span>901
2528<span class="xtra li2"><span class="de2">902</span></span>903
2529<span class="xtra li2"><span class="de2">904</span></span>905
2530<span class="xtra li2"><span class="de2">906</span></span>907
2531<span class="xtra li2"><span class="de2">908</span></span>909
2532<span class="xtra li2"><span class="de2">910</span></span>911
2533<span class="xtra li2"><span class="de2">912</span></span>913
2534<span class="xtra li2"><span class="de2">914</span></span>915
2535<span class="xtra li2"><span class="de2">916</span></span>917
2536<span class="xtra li2"><span class="de2">918</span></span>919
2537<span class="xtra li2"><span class="de2">920</span></span>921
2538<span class="xtra li2"><span class="de2">922</span></span>923
2539<span class="xtra li2"><span class="de2">924</span></span>925
2540<span class="xtra li2"><span class="de2">926</span></span>927
2541<span class="xtra li2"><span class="de2">928</span></span>929
2542<span class="xtra li2"><span class="de2">930</span></span>931
2543<span class="xtra li2"><span class="de2">932</span></span>933
2544<span class="xtra li2"><span class="de2">934</span></span>935
2545<span class="xtra li2"><span class="de2">936</span></span>937
2546<span class="xtra li2"><span class="de2">938</span></span>939
2547<span class="xtra li2"><span class="de2">940</span></span>941
2548<span class="xtra li2"><span class="de2">942</span></span>943
2549<span class="xtra li2"><span class="de2">944</span></span>945
2550<span class="xtra li2"><span class="de2">946</span></span>947
2551<span class="xtra li2"><span class="de2">948</span></span>949
2552<span class="xtra li2"><span class="de2">950</span></span>951
2553<span class="xtra li2"><span class="de2">952</span></span>953
2554<span class="xtra li2"><span class="de2">954</span></span>955
2555<span class="xtra li2"><span class="de2">956</span></span>957
2556<span class="xtra li2"><span class="de2">958</span></span>959
2557<span class="xtra li2"><span class="de2">960</span></span>961
2558<span class="xtra li2"><span class="de2">962</span></span>963
2559<span class="xtra li2"><span class="de2">964</span></span>965
2560<span class="xtra li2"><span class="de2">966</span></span>967
2561<span class="xtra li2"><span class="de2">968</span></span>969
2562<span class="xtra li2"><span class="de2">970</span></span>971
2563<span class="xtra li2"><span class="de2">972</span></span>973
2564<span class="xtra li2"><span class="de2">974</span></span>975
2565<span class="xtra li2"><span class="de2">976</span></span>977
2566<span class="xtra li2"><span class="de2">978</span></span>979
2567<span class="xtra li2"><span class="de2">980</span></span>981
2568<span class="xtra li2"><span class="de2">982</span></span>983
2569<span class="xtra li2"><span class="de2">984</span></span>985
2570<span class="xtra li2"><span class="de2">986</span></span>987
2571<span class="xtra li2"><span class="de2">988</span></span>989
2572<span class="xtra li2"><span class="de2">990</span></span>991
2573<span class="xtra li2"><span class="de2">992</span></span>993
2574<span class="xtra li2"><span class="de2">994</span></span>995
2575<span class="xtra li2"><span class="de2">996</span></span>997
2576<span class="xtra li2"><span class="de2">998</span></span>999
2577<span class="xtra li2"><span class="de2">1000</span></span>1001
2578<span class="xtra li2"><span class="de2">1002</span></span>1003
2579<span class="xtra li2"><span class="de2">1004</span></span>1005
2580<span class="xtra li2"><span class="de2">1006</span></span>1007
2581<span class="xtra li2"><span class="de2">1008</span></span>1009
2582<span class="xtra li2"><span class="de2">1010</span></span>1011
2583<span class="xtra li2"><span class="de2">1012</span></span>1013
2584<span class="xtra li2"><span class="de2">1014</span></span>1015
2585<span class="xtra li2"><span class="de2">1016</span></span>1017
2586<span class="xtra li2"><span class="de2">1018</span></span>1019
2587<span class="xtra li2"><span class="de2">1020</span></span>1021
2588<span class="xtra li2"><span class="de2">1022</span></span>1023
2589<span class="xtra li2"><span class="de2">1024</span></span>1025
2590<span class="xtra li2"><span class="de2">1026</span></span>1027
2591<span class="xtra li2"><span class="de2">1028</span></span>1029
2592<span class="xtra li2"><span class="de2">1030</span></span>1031
2593<span class="xtra li2"><span class="de2">1032</span></span>1033
2594<span class="xtra li2"><span class="de2">1034</span></span>1035
2595<span class="xtra li2"><span class="de2">1036</span></span>1037
2596<span class="xtra li2"><span class="de2">1038</span></span>1039
2597<span class="xtra li2"><span class="de2">1040</span></span>1041
2598<span class="xtra li2"><span class="de2">1042</span></span>1043
2599<span class="xtra li2"><span class="de2">1044</span></span>1045
2600<span class="xtra li2"><span class="de2">1046</span></span>1047
2601<span class="xtra li2"><span class="de2">1048</span></span>1049
2602<span class="xtra li2"><span class="de2">1050</span></span>1051
2603<span class="xtra li2"><span class="de2">1052</span></span>1053
2604<span class="xtra li2"><span class="de2">1054</span></span>1055
2605<span class="xtra li2"><span class="de2">1056</span></span>1057
2606<span class="xtra li2"><span class="de2">1058</span></span>1059
2607<span class="xtra li2"><span class="de2">1060</span></span>1061
2608<span class="xtra li2"><span class="de2">1062</span></span>1063
2609<span class="xtra li2"><span class="de2">1064</span></span>1065
2610<span class="xtra li2"><span class="de2">1066</span></span>1067
2611<span class="xtra li2"><span class="de2">1068</span></span>1069
2612<span class="xtra li2"><span class="de2">1070</span></span>1071
2613<span class="xtra li2"><span class="de2">1072</span></span>1073
2614<span class="xtra li2"><span class="de2">1074</span></span>1075
2615<span class="xtra li2"><span class="de2">1076</span></span>1077
2616<span class="xtra li2"><span class="de2">1078</span></span>1079
2617<span class="xtra li2"><span class="de2">1080</span></span>1081
2618<span class="xtra li2"><span class="de2">1082</span></span>1083
2619<span class="xtra li2"><span class="de2">1084</span></span>1085
2620<span class="xtra li2"><span class="de2">1086</span></span>1087
2621<span class="xtra li2"><span class="de2">1088</span></span>1089
2622<span class="xtra li2"><span class="de2">1090</span></span>1091
2623<span class="xtra li2"><span class="de2">1092</span></span>1093
2624<span class="xtra li2"><span class="de2">1094</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw2">&lt;?php</span>
2625<span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI">&nbsp;* php.php</span>
2626<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* --------</span></span></span><span class="coMULTI">&nbsp;* Author: Nigel McNie (nigel@geshi.org)</span>
2627<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)</span></span></span><span class="coMULTI">&nbsp;* Release Version: 1.0.8.3</span>
2628<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* Date Started: 2004/06/20</span></span></span><span class="coMULTI">&nbsp;*</span>
2629<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* PHP language file for GeSHi.</span></span></span><span class="coMULTI">&nbsp;*</span>
2630<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* CHANGES</span></span></span><span class="coMULTI">&nbsp;* -------</span>
2631<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* 2008/05/23 (1.0.7.22)</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Added description of extra language features (SF#1970248)</span>
2632<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* 2004/11/25 (1.0.3)</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Added support for multiple object splitters</span>
2633<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Fixed &amp;new problem</span></span></span><span class="coMULTI">&nbsp;* 2004/10/27 (1.0.2)</span>
2634<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Added URL support</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Added extra constants</span>
2635<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* 2004/08/05 (1.0.1)</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;Added support for symbols</span>
2636<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* 2004/07/14 (1.0.0)</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;First Release</span>
2637<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* TODO (updated 2004/07/14)</span>
2638<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* -------------------------</span></span></span><span class="coMULTI">&nbsp;* * Make sure the last few function I may have missed</span>
2639<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; (like eval()) are included for highlighting</span></span></span><span class="coMULTI">&nbsp;* * Split to several files - php4, php5 etc</span>
2640<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;*************************************************************************************</span>
2641<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; &nbsp; This file is part of GeSHi.</span>
2642<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; GeSHi is free software; you can redistribute it and/or modify</span>
2643<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI">&nbsp;* &nbsp; the Free Software Foundation; either version 2 of the License, or</span>
2644<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; (at your option) any later version.</span></span></span><span class="coMULTI">&nbsp;*</span>
2645<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI">&nbsp;* &nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
2646<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the</span></span></span><span class="coMULTI">&nbsp;* &nbsp; GNU General Public License for more details.</span>
2647<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; You should have received a copy of the GNU General Public License</span>
2648<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI">&nbsp;* &nbsp; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA &nbsp;02111-1307 &nbsp;USA</span>
2649<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;************************************************************************************/</span>
2650<span class="xtra li2"><span class="de2">&nbsp;</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">&#40;</span>
2651<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'LANG_NAME'</span> <span class="sy0">=&gt;</span> <span class="st_h">'PHP'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'#'</span><span class="br0">&#41;</span><span class="sy0">,</span>
2652<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'/*'</span> <span class="sy0">=&gt;</span> <span class="st_h">'*/'</span><span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'HARDQUOTE'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;'&quot;</span><span class="sy0">,</span> <span class="st0">&quot;'&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span>
2653<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'HARDESCAPE'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;'&quot;</span><span class="sy0">,</span> <span class="st0">&quot;<span class="es1">\\</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'HARDCHAR'</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;<span class="es1">\\</span>&quot;</span><span class="sy0">,</span>
2654<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'COMMENT_REGEXP'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Heredoc and Nowdoc syntax</span>
2655<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'/&lt;&lt;&lt;\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// phpdoc comments</span>
2656<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">'#/\*\*(?![\*\/]).*\*/#sU'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Advanced # handling</span>
2657<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;/#.*?(?:(?=\?\&gt;)|^)/smi&quot;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
2658<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=&gt;</span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'&quot;'</span><span class="br0">&#41;</span><span class="sy0">,</span>
2659<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'ESCAPE_REGEXP'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
2660<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Simple Single Char Escapes</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#<span class="es1">\\</span><span class="es1">\\</span>[nfrtv<span class="es1">\$</span><span class="es1">\&quot;</span><span class="es1">\n</span><span class="es1">\\</span><span class="es1">\\</span>]#i&quot;</span><span class="sy0">,</span>
2661<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Hexadecimal Char Specs</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#<span class="es1">\\</span><span class="es1">\\</span>x[\da-fA-F]{1,2}#i&quot;</span><span class="sy0">,</span>
2662<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Octal Char Specs</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#<span class="es1">\\</span><span class="es1">\\</span>[0-7]{1,3}#&quot;</span><span class="sy0">,</span>
2663<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//String Parsing of Variable Names</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#<span class="es1">\\</span>$[a-z0-9_]+(?:<span class="es1">\\</span>[[a-z0-9_]+<span class="es1">\\</span>]|-&gt;[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>]|-&gt;[a-z0-9_]+)*<span class="es1">\\</span>}#i&quot;</span><span class="sy0">,</span>
2664<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Experimental extension supporting cascaded {${$var}} syntax</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#<span class="es1">\$</span>[a-z0-9_]+(?:\[[a-z0-9_]+\]|-&gt;[a-z0-9_]+)?|(?:\{<span class="es1">\$</span>|<span class="es1">\$</span>\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*<span class="es1">\\</span>1\]|-&gt;[a-z0-9_]+)*\}|\{<span class="es1">\$</span>(?R)\}#i&quot;</span><span class="sy0">,</span>
2665<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Format String support in &quot;&quot;-Strings</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">6</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;#%(?:%|(?:\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])#&quot;</span>
2666<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span>
2667<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> &nbsp;GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_FLT_SCI_ZERO<span class="sy0">,</span>
2668<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'KEYWORDS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
2669<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2670<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'return'</span><span class="sy0">,</span><span class="st_h">'switch'</span><span class="sy0">,</span><span class="st_h">'while'</span><span class="sy0">,</span>
2671<span class="xtra li2"><span class="de2">&nbsp;</span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'echo'</span><span class="sy0">,</span><span class="st_h">'print'</span>
2672<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
2673<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&amp;amp;new'</span><span class="sy0">,</span><span class="st_h">'&amp;lt;/script&amp;gt;'</span><span class="sy0">,</span><span class="st_h">'&amp;lt;?php'</span><span class="sy0">,</span><span class="st_h">'&amp;lt;script language'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2674<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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">'public'</span><span class="sy0">,</span><span class="st_h">'self'</span><span class="sy0">,</span><span class="st_h">'var'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
2675<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2676<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'aggregate_methods_by_regexp'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties'</span><span class="sy0">,</span>
2677<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2678<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2679<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2680<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2681<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'array_intersect_key'</span><span class="sy0">,</span><span class="st_h">'array_intersect_uassoc'</span><span class="sy0">,</span>
2682<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2683<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2684<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2685<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2686<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2687<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2688<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2689<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2690<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2691<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2692<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2693<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2694<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2695<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2696<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2697<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2698<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2699<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2700<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2701<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2702<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2703<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2704<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2705<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2706<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2707<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2708<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2709<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2710<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2711<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2712<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2713<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2714<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2715<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2716<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2717<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2718<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2719<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2720<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2721<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2722<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2723<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2724<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2725<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2726<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2727<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2728<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2729<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2730<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2731<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2732<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2733<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2734<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'domxml_dumpmem'</span><span class="sy0">,</span><span class="st_h">'domxml_elem_get_attribute'</span><span class="sy0">,</span>
2735<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2736<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'domxml_node_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_node_children'</span><span class="sy0">,</span>
2737<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2738<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2739<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'domxml_parser_characters'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_comment'</span><span class="sy0">,</span>
2740<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2741<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'domxml_parser_processing_instruction'</span><span class="sy0">,</span>
2742<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2743<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2744<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2745<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2746<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2747<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2748<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2749<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2750<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2751<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2752<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2753<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2754<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2755<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2756<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2757<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2758<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2759<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2760<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2761<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2762<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2763<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2764<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2765<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2766<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2767<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2768<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2769<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2770<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2771<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2772<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2773<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2774<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2775<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2776<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2777<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2778<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2779<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2780<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2781<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2782<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2783<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2784<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2785<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2786<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2787<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2788<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2789<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2790<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2791<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2792<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2793<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2794<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2795<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2796<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2797<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2798<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2799<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2800<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2801<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2802<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2803<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2804<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2805<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2806<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2807<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2808<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2809<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2810<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2811<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2812<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2813<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2814<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2815<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2816<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2817<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2818<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2819<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2820<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2821<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2822<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2823<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2824<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2825<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2826<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2827<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2828<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2829<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2830<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2831<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2832<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2833<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2834<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2835<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2836<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2837<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2838<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2839<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2840<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2841<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2842<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2843<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2844<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2845<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2846<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2847<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2848<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2849<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2850<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2851<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2852<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2853<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2854<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2855<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2856<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2857<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2858<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_enc_get_supported_key_sizes'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_enc_is_block_algorithm'</span><span class="sy0">,</span>
2859<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2860<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2861<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_list_modes'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_close'</span><span class="sy0">,</span>
2862<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_module_get_algo_block_size'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_module_get_algo_key_size'</span><span class="sy0">,</span>
2863<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_module_get_supported_key_sizes'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_module_is_block_algorithm'</span><span class="sy0">,</span>
2864<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mcrypt_module_is_block_algorithm_mode'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2865<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2866<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2867<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2868<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2869<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2870<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2871<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2872<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2873<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2874<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2875<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2876<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2877<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2878<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2879<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2880<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2881<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2882<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2883<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2884<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2885<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2886<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2887<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2888<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2889<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2890<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2891<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2892<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2893<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2894<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2895<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2896<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2897<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2898<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2899<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2900<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2901<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2902<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2903<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2904<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2905<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2906<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2907<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'mysqli_send_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_charset'</span><span class="sy0">,</span>
2908<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2909<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2910<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2911<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2912<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2913<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2914<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2915<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2916<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'ntuser_getdomaincontroller'</span><span class="sy0">,</span><span class="st_h">'ntuser_getusergroups'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2917<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2918<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2919<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2920<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2921<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2922<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2923<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2924<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2925<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2926<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2927<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2928<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2929<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2930<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2931<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'openssl_private_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_private_encrypt'</span><span class="sy0">,</span>
2932<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2933<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2934<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2935<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'parsekit_compile_file'</span><span class="sy0">,</span><span class="st_h">'parsekit_compile_string'</span><span class="sy0">,</span>
2936<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2937<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2938<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2939<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2940<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2941<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2942<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2943<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2944<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2945<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2946<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2947<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2948<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2949<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2950<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2951<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2952<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2953<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2954<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2955<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2956<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2957<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2958<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2959<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2960<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2961<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2962<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2963<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2964<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2965<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2966<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2967<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2968<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2969<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2970<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2971<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2972<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2973<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2974<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2975<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2976<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2977<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2978<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2979<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2980<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2981<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2982<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2983<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'reg_set_value'</span><span class="sy0">,</span><span class="st_h">'register_shutdown_function'</span><span class="sy0">,</span>
2984<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2985<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2986<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'runkit_constant_redefine'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_remove'</span><span class="sy0">,</span>
2987<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'runkit_function_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_function_redefine'</span><span class="sy0">,</span>
2988<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2989<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2990<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2991<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2992<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2993<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2994<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2995<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2996<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2997<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2998<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
2999<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3000<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3001<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3002<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3003<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3004<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3005<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3006<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3007<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3008<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'spl_autoload_call'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_extensions'</span><span class="sy0">,</span>
3009<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3010<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3011<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3012<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3013<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3014<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3015<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3016<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3017<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3018<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3019<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3020<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3021<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3022<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3023<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3024<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3025<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3026<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3027<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3028<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3029<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3030<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3031<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3032<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3033<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'stats_stat_correlation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_factorial'</span><span class="sy0">,</span>
3034<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3035<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3036<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3037<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3038<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'stream_filter_register'</span><span class="sy0">,</span><span class="st_h">'stream_filter_remove'</span><span class="sy0">,</span>
3039<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3040<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'stream_notification_callback'</span><span class="sy0">,</span><span class="st_h">'stream_register_wrapper'</span><span class="sy0">,</span>
3041<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3042<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3043<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'stream_socket_sendto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_server'</span><span class="sy0">,</span>
3044<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'stream_wrapper_register'</span><span class="sy0">,</span><span class="st_h">'stream_wrapper_restore'</span><span class="sy0">,</span>
3045<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3046<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3047<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3048<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3049<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3050<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3051<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3052<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3053<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3054<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3055<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3056<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3057<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3058<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3059<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3060<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3061<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'timezone_abbreviations_list'</span><span class="sy0">,</span><span class="st_h">'timezone_identifiers_list'</span><span class="sy0">,</span>
3062<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3063<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3064<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3065<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3066<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3067<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3068<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3069<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3070<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3071<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3072<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3073<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3074<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3075<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3076<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3077<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3078<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3079<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span>
3080<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span>
3081<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3082<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3083<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xmlrpc_parse_method_descriptions'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3084<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xmlrpc_server_register_introspection_callback'</span><span class="sy0">,</span>
3085<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xmlwriter_end_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_cdata'</span><span class="sy0">,</span>
3086<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3087<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3088<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xmlwriter_open_uri'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_output_memory'</span><span class="sy0">,</span>
3089<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3090<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xmlwriter_start_document'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd'</span><span class="sy0">,</span>
3091<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3092<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3093<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3094<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3095<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3096<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3097<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3098<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3099<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3100<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3101<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3102<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'zlib_get_coding_type'</span>
3103<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3104<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3105<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3106<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3107<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span>
3108<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3109<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3110<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3111<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'SYMBOLS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3112<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;%'</span><span class="sy0">,</span> <span class="st_h">'&lt;%='</span><span class="sy0">,</span> <span class="st_h">'%&gt;'</span><span class="sy0">,</span> <span class="st_h">'&lt;?'</span><span class="sy0">,</span> <span class="st_h">'&lt;?='</span><span class="sy0">,</span> <span class="st_h">'?&gt;'</span>
3113<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3114<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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">'&amp;'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span>
3115<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;'</span><span class="sy0">,</span> <span class="st_h">'&gt;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>
3116<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3117<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'CASE_SENSITIVE'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3118<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; GESHI_COMMENTS <span class="sy0">=&gt;</span> <span class="kw4">false</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="kw4">false</span><span class="sy0">,</span>
3119<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="kw4">false</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="kw4">false</span><span class="sy0">,</span>
3120<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="kw4">false</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3121<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'STYLES'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'KEYWORDS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3122<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span>
3123<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #990000;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #009900; font-weight: bold;'</span>
3124<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'COMMENTS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3125<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span>
3126<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #0000cc; font-style: italic;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #009933; font-style: italic;'</span><span class="sy0">,</span>
3127<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'MULTI'</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #666666; font-style: italic;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3128<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span>
3129<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span>
3130<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #006699; font-weight: bold;'</span><span class="sy0">,</span>
3131<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #006699; font-weight: bold; font-style: italic;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">6</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #009933; font-weight: bold;'</span><span class="sy0">,</span>
3132<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'HARD'</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000099; font-weight: bold;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3133<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'BRACKETS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #009900;'</span>
3134<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'STRINGS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3135<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #0000ff;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'HARD'</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #0000ff;'</span>
3136<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3137<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #cc66cc;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_OCT_PREFIX <span class="sy0">=&gt;</span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span>
3138<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_HEX_PREFIX <span class="sy0">=&gt;</span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_FLT_SCI_ZERO <span class="sy0">=&gt;</span> <span class="st_h">'color:#800080;'</span><span class="sy0">,</span>
3139<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'METHODS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3140<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #004000;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #004000;'</span>
3141<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'SYMBOLS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3142<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #339933;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000000; font-weight: bold;'</span>
3143<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'REGEXPS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3144<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000088;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3145<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'SCRIPT'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3146<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3147<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3148<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3149<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'URLS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3150<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3151<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'http://www.php.net/{FNAMEL}'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span>
3152<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'OOLANG'</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3153<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'OBJECT_SPLITTERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'-&amp;gt;'</span><span class="sy0">,</span>
3154<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'::'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3155<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'REGEXPS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Variables</span>
3156<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*&quot;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3157<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=&gt;</span> GESHI_MAYBE<span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3158<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;?php'</span> <span class="sy0">=&gt;</span> <span class="st_h">'?&gt;'</span>
3159<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3160<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;?'</span> <span class="sy0">=&gt;</span> <span class="st_h">'?&gt;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3161<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;%'</span> <span class="sy0">=&gt;</span> <span class="st_h">'%&gt;'</span>
3162<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3163<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;script language=&quot;php&quot;&gt;'</span> <span class="sy0">=&gt;</span> <span class="st_h">'&lt;/script&gt;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3164<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;/(&lt;\?(?:php)?)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\&quot;</span>(?:[^<span class="es1">\&quot;</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\&quot;</span>|\/\*(?!\*\/).*?\*\/|.)*?(\?&gt;|\Z)/sm&quot;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;/(&lt;%)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\&quot;</span>(?:[^<span class="es1">\&quot;</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\&quot;</span>|\/\*(?!\*\/).*?\*\/|.)*?(%&gt;|\Z)/sm&quot;</span>
3165<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3166<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3167<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3168<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span>
3169<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'TAB_WIDTH'</span> <span class="sy0">=&gt;</span> <span class="nu0">4</span>
3170<span class="xtra li2"><span class="de2"><span class="br0">&#41;</span><span class="sy0">;</span></span></span>&nbsp;
3171<span class="xtra li2"><span class="de2"><span class="sy1">?&gt;</span></span></span></pre></td></tr></tbody></table>
3172
3173<p>If you&#8217;re remotely familiar with <abbr title="PHP: HTML Preprocessor">PHP</abbr> (or even if you&#8217;re not), you can see that all that a language file consists of is
3174a 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
3175still, there&#8217;s a lot of indices to that array&#8230; but this section is here to break each index down and explain it to you.</p>
3176
3177<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>
3178
3179<p>There are several conventions that are used in language files. For ease of use and readability, your language
3180files should obey the following rules:</p>
3181
3182<ul>
3183<li><strong>Indentation is <em>4 spaces</em>, not tabs:</strong> Use spaces! as editors continiously screw up tabs there should be
3184no tabs in your documents since it would look differently on every computer otherwise.</li>
3185<li><strong>Strings are in single quotes:</strong> Every string in a language file should be in single quotes (&#8216;), unless you are
3186specifying a single quote as a quotemark or escape character, in which case they can be in double quotes for
3187readability; or if you are specifying a REGEXP (see below). This ensures that the language file can be loaded
3188as fast as possible by <abbr title="PHP: HTML Preprocessor">PHP</abbr> as unnecessary parsing can be avoided.</li>
3189<li><strong>Large arrays are multi-lined:</strong> An array with more than three or four values should be broken into multiple
3190lines. In any case, lines should not be wider than a full-screen window (about 100 chars per line max).
3191Don&#8217;t break the keywords arrays after every keyword.</li>
3192<li><strong>Ending brackets for multi-lined arrays on a new line:</strong> Also with a comma after them, unless the array is
3193the 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>
3194<li><strong>Use <abbr title="Generic Syntax Highlighter">GeSHi</abbr>&#8217;s constants:</strong> For capatalisation, regular expressions etc. use the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants, <em>not</em>
3195their actual values.</li>
3196<li><strong>Verbatim header format:</strong> Copy the file header verbatim from other language files and modify the values
3197afterwards. Don&#8217;t try to invent own header formats, as your languages else will fail validation!</li>
3198</ul>
3199
3200<p>There are more notes on each convention where it may appear in the language file sections below.</p>
3201
3202<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>
3203
3204<p>This section will look at all the sections of a language file, and how they relate to the final highlighting result.</p>
3205
3206<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>
3207
3208<p>The <em>header</em> of a language file is the first lines with the big comment and the start of the variable
3209<code class="highlighted php"><span class="re0">$language_data</span></code>:</p>
3210
3211<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
3212<span class="xtra li2"><span class="de2">2</span></span>3
3213<span class="xtra li2"><span class="de2">4</span></span>5
3214<span class="xtra li2"><span class="de2">6</span></span>7
3215<span class="xtra li2"><span class="de2">8</span></span>9
3216<span class="xtra li2"><span class="de2">10</span></span>11
3217<span class="xtra li2"><span class="de2">12</span></span>13
3218<span class="xtra li2"><span class="de2">14</span></span>15
3219<span class="xtra li2"><span class="de2">16</span></span>17
3220<span class="xtra li2"><span class="de2">18</span></span>19
3221<span class="xtra li2"><span class="de2">20</span></span>21
3222<span class="xtra li2"><span class="de2">22</span></span>23
3223<span class="xtra li2"><span class="de2">24</span></span>25
3224<span class="xtra li2"><span class="de2">26</span></span>27
3225<span class="xtra li2"><span class="de2">28</span></span>29
3226<span class="xtra li2"><span class="de2">30</span></span>31
3227<span class="xtra li2"><span class="de2">32</span></span>33
3228<span class="xtra li2"><span class="de2">34</span></span>35
3229<span class="xtra li2"><span class="de2">36</span></span>37
3230<span class="xtra li2"><span class="de2">38</span></span>39
3231<span class="xtra li2"><span class="de2">40</span></span>41
3232<span class="xtra li2"><span class="de2">42</span></span>43
3233</pre></td><td class="de1"><pre class="de1"><span class="kw2">&lt;?php</span>
3234<span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI">&nbsp;* &lt;name-of-language-file.php&gt;</span>
3235<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* ---------------------------------</span></span></span><span class="coMULTI">&nbsp;* Author: &lt;name&gt; (&lt;e-mail address&gt;)</span>
3236<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* Copyright: (c) 2008 &lt;name&gt; (&lt;website URL&gt;)</span></span></span><span class="coMULTI">&nbsp;* Release Version: &lt;GeSHi release&gt;</span>
3237<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* Date Started: &lt;date started&gt;</span></span></span><span class="coMULTI">&nbsp;*</span>
3238<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &lt;name-of-language&gt; language file for GeSHi.</span></span></span><span class="coMULTI">&nbsp;*</span>
3239<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &lt;any-comments...&gt;</span></span></span><span class="coMULTI">&nbsp;*</span>
3240<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* CHANGES</span></span></span><span class="coMULTI">&nbsp;* -------</span>
3241<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &lt;date-of-release&gt; (&lt;GeSHi release&gt;)</span></span></span><span class="coMULTI">&nbsp;* &nbsp;- &nbsp;First Release</span>
3242<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* TODO (updated &lt;date-of-release&gt;)</span>
3243<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* -------------------------</span></span></span><span class="coMULTI">&nbsp;* &lt;things-to-do&gt;</span>
3244<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;*************************************************************************************</span>
3245<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; &nbsp; This file is part of GeSHi.</span>
3246<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; GeSHi is free software; you can redistribute it and/or modify</span>
3247<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI">&nbsp;* &nbsp; the Free Software Foundation; either version 2 of the License, or</span>
3248<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; (at your option) any later version.</span></span></span><span class="coMULTI">&nbsp;*</span>
3249<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI">&nbsp;* &nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
3250<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the</span></span></span><span class="coMULTI">&nbsp;* &nbsp; GNU General Public License for more details.</span>
3251<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;* &nbsp; You should have received a copy of the GNU General Public License</span>
3252<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;* &nbsp; along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI">&nbsp;* &nbsp; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA &nbsp;02111-1307 &nbsp;USA</span>
3253<span class="xtra li2"><span class="de2"><span class="coMULTI">&nbsp;*</span></span></span><span class="coMULTI">&nbsp;************************************************************************************/</span>
3254<span class="xtra li2"><span class="de2">&nbsp;</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">&#40;</span></pre></td></tr></tbody></table>
3255
3256<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>
3257
3258<p>Here are the parts you should change:</p>
3259
3260<ul>
3261<li><code>&lt;name-of-language-file.php&gt;</code> - This should become the name of your language file. Language file names are in
3262lower case and contain only alphanumeric characters, dashes and underscores. Language files end with .php (which
3263you should put with the name of your language file, eg language.php)</li>
3264<li><code>&lt;name&gt;</code> - Your name, or alias.</li>
3265<li><code>&lt;e-mail address&gt;</code> - Your e-mail address. If you want your language file included with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> you <em>must</em>
3266include an e-mail address that refers to an inbox controlled by you.</li>
3267<li><code>&lt;website&gt;</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
3268your home page/blog)</li>
3269<li><code>&lt;date-started&gt;</code> - The date you started working on the language file. If you can&#8217;t remember, guestimate.</li>
3270<li><code>&lt;name-of-language&gt;</code> - The name of the language you made this language file for (probably similar to
3271the language file name).</li>
3272<li><code>&lt;any-comments&gt;</code> - Any comments you have to make about this language file, perhaps on where you got the keywords for,
3273what dialect of the language this language file is for etc etc. If you don&#8217;t have any comments, remove the space for them.</li>
3274<li><code>&lt;date-of-release</code> - The date you released the language file to the public. If you simply send it to me for inclusion
3275in a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> and don&#8217;t release it, leave this blank, and I&#8217;ll replace it with the date of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> release that
3276it is first added to.</li>
3277<li><code>&lt;GeSHi release&gt;</code> - This is the version of the release that will contain the changes you made.
3278So 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>
3279</ul>
3280
3281<p>Everything should remain the same.</p>
3282
3283<p><strong>Also:</strong> I&#8217;m not sure about the copyright on a new language file. I&#8217;m not a lawyer, could someone contact me about
3284whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a
3285<abbr title="Generic Syntax Highlighter">GeSHi</abbr> release)?</p>
3286
3287<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>
3288
3289<p>Here is an example from the php language file of the first indices:</p>
3290
3291<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
3292<span class="xtra li2"><span class="de2">2</span></span>3
3293<span class="xtra li2"><span class="de2">4</span></span>5
3294<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">=&gt;</span> <span class="st_h">'PHP'</span><span class="sy0">,</span>
3295<span class="xtra li2"><span class="de2"><span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'#'</span><span class="br0">&#41;</span><span class="sy0">,</span></span></span><span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'/*'</span> <span class="sy0">=&gt;</span> <span class="st_h">'*/'</span><span class="br0">&#41;</span><span class="sy0">,</span>
3296<span class="xtra li2"><span class="de2"><span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=&gt;</span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span></span></span><span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;'&quot;</span><span class="sy0">,</span> <span class="st_h">'&quot;'</span><span class="br0">&#41;</span><span class="sy0">,</span>
3297<span class="xtra li2"><span class="de2"><span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=&gt;</span> <span class="st_h">'\\'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3298
3299<p>The first indices are the first few lines of a language file before the KEYWORDS index. These indices specify:</p>
3300
3301<ul>
3302<li><strong>&#8216;LANG_NAME&#8217;</strong>: The name of the language. This name should be a human-readable version of the name
3303(e.g. <abbr title="Hypertext Markup Language">HTML</abbr> 4 (transitional) instead of html4trans)</li>
3304<li><strong>&#8216;COMMENT_SINGLE&#8217;:</strong> An array of single-line comments in your language, indexed by integers starting
3305from 1. A single line comment is a comment that starts at the marker and goes until the end of the line. These
3306comments may be any length > 0, and since they can be styled individually, can be used for other things than comments
3307(for example the Java language file defines &#8220;import&#8221; as a single line comment). If you are making a language that
3308uses a &#8217; (apostrophe) as a comment (or in the comment marker somewhere), use double quotes. e.g.: &#8220;&#8217;&#8221;</li>
3309<li><strong>&#8216;COMMENT_MULTI&#8217;:</strong> Used to specify multiline comments, an array in the form &#8216;OPEN&#8217; => &#8216;CLOSE&#8217;. Unfortunately,
3310all 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).
3311These comment markers may be any length > 0.</li>
3312<li><strong>&#8216;CASE_KEYWORDS&#8217;:</strong> Used to set whether the case of keywords should be changed automatically as they are found.
3313For example, in an SQL or BASIC dialect you may want all keywords to be upper case. The accepted values for this are:</li>
3314<li><code>GESHI_CAPS_UPPER</code>: Convert the case of all keywords to upper case.</li>
3315<li><code>GESHI_CAPS_LOWER</code>: Convert the case of all keywords to lower case.</li>
3316<li><code>GESHI_CAPS_NO_CHANGE</code>: Don&#8217;t change the case of any keyword.</li>
3317<li><strong>&#8216;QUOTEMARKS&#8217;:</strong> Specifies the characters that mark the beginning and end of a string. This is another example
3318where if your language includes the &#8217; string delimiter you should use double quotes around it.</li>
3319<li><strong>&#8216;ESCAPE_CHAR&#8217;:</strong> Specifies the escape character used in all strings. If your language does not have an escape
3320character then make this the empty string (<code>''</code>). This is not an array! If found, any character after an
3321escape character and the escape character itself will be highlighted differently, and the character after the
3322escape character cannot end a string.</li>
3323</ul>
3324
3325<p>In some language files you might see here other indices too, but those are dealt with later on.</p>
3326
3327<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>
3328
3329<p>Keywords will make up the bulk of a language file. In this part you add keywords for your language, including
3330inbuilt functions, data types, predefined constants etc etc.</p>
3331
3332<p>Here&#8217;s a (shortened) example from the php language file:</p>
3333
3334<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
3335<span class="xtra li2"><span class="de2">2</span></span>3
3336<span class="xtra li2"><span class="de2">4</span></span>5
3337<span class="xtra li2"><span class="de2">6</span></span>7
3338<span class="xtra li2"><span class="de2">8</span></span>9
3339<span class="xtra li2"><span class="de2">10</span></span>11
3340<span class="xtra li2"><span class="de2">12</span></span>13
3341<span class="xtra li2"><span class="de2">14</span></span>15
3342<span class="xtra li2"><span class="de2">16</span></span>17
3343<span class="xtra li2"><span class="de2">18</span></span>19
3344<span class="xtra li2"><span class="de2">20</span></span>21
3345<span class="xtra li2"><span class="de2">22</span></span>23
3346<span class="xtra li2"><span class="de2">24</span></span>25
3347<span class="xtra li2"><span class="de2">26</span></span>27
3348<span class="xtra li2"><span class="de2">28</span></span>29
3349<span class="xtra li2"><span class="de2">30</span></span>31
3350<span class="xtra li2"><span class="de2">32</span></span>33
3351<span class="xtra li2"><span class="de2">34</span></span>35
3352<span class="xtra li2"><span class="de2">36</span></span>37
3353<span class="xtra li2"><span class="de2">38</span></span>39
3354<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">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3355<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3356<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3357<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'switch'</span><span class="sy0">,</span> <span class="st_h">'while'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3358<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&amp;lt;/script&gt;'</span><span class="sy0">,</span> <span class="st_h">'&amp;lt;?'</span><span class="sy0">,</span> <span class="st_h">'&amp;lt;?php'</span><span class="sy0">,</span> <span class="st_h">'&amp;lt;script language='</span><span class="sy0">,</span>
3359<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'?&gt;'</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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3360<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3361<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3362<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3363<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3364<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span>
3365<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3366<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3367<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3368<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_element_handler'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_end_namespace_decl_handler'</span><span class="sy0">,</span>
3369<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3370<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span>
3371<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3372<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <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>&nbsp; &nbsp; &nbsp; &nbsp; <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>
3373<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'zlib_get_coding_type'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3374<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3375
3376<p>You can see that the index &#8216;KEYWORDS&#8217; refers to an array of arrays, indexed by positive integers. In each array,
3377there are some keywords (in the actual php language file there is in fact many more keywords in the array indexed by 3).
3378Here are some points to note about these keywords:</p>
3379
3380<ul>
3381<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,
3382use positive integers only. Using strings here results in unnecessary overhead degrading performance when
3383highlighting code with your language file!</li>
3384<li><strong>Keywords sorted ascending:</strong> Keywords <em>should</em> be sorted in <em>ascending</em> order. This is mainly for
3385readability. An issue with versions before 1.0.8 has been solved, so the reverse sorting order
3386is no longer required and should thus be avoided. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself sorts the keywords internally when
3387building some of its caches, so the order doesn&#8217;t matter, but makes things easier to read and maintain.</li>
3388<li><strong>Keywords are case sensitive (sometimes):</strong> If your language is case-sensitive, the correct casing of the
3389keywords is defined as the case of the keywords in these keyword arrays. If you check the java language file you
3390will see that everything is in exact casing. So if any of these keyword arrays are case sensitive, put the
3391keywords in as their correct case! (note that which groups are case sensitive and which are not is configurable,
3392see later on). If a keyword group is case insensitive, put the lowercase version of the keyword here
3393<strong>OR</strong> in case documentation links require a special casing (other than all lowercase or all uppercase)
3394the casing required for them use their casing.</li>
3395<li><strong>Keywords must be in <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">&#40;</span><span class="br0">&#41;</span></code> form:</strong> All keywords should be written as if they had been
3396run through the php function <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">&#40;</span><span class="br0">&#41;</span></code>. E.g, the keyword is <code class="highlighted html4strict"><span class="sc1">&amp;lt;</span>foo<span class="sc1">&amp;gt;</span></code>, not
3397<code class="highlighted html4strict"><span class="sc2">&lt;foo&gt;</span></code></li>
3398<li><strong>Don&#8217;t use keywords to highlight symbols:</strong> Just don&#8217;t!!! It doesn&#8217;t work, and there is seperate support
3399for symbols since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21.</li>
3400<li><strong>Markup Languages are special cases:</strong> Check the html4strict language file for an example: You need to tweak
3401the Parser control here to tell the surroundings of tagnames. In case of doubt, feel free to ask.</li>
3402</ul>
3403
3404<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>
3405
3406<p>So you&#8217;ve put all the keywords for your language in? Now for a breather before we style them :). Symbols define
3407what symbols your language uses. These are things like colons, brackets/braces, and other such general punctuation.
3408No alphanumeric stuff belongs here, just the same as no symbols belong into the keywords section.</p>
3409
3410<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>
3411
3412<dl>
3413<dt>Flat usage:</dt>
3414<dd>This mode is the suggested way for existing language files and languages that only need few symbols where no
3415further differentiation is needed or desired. You simply put all the characters in an array under symbols as shown
3416in the first example below. All symbols in flat usage belong to symbol style group 0.</dd>
3417
3418<dt>Group usage:</dt>
3419<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
3420each containing only a subset of the symbols to highlight. Every array will need to have an unique index thus
3421you can assign the appropriate styles later.</dd>
3422</dl>
3423
3424<p>Here&#8217;s an example for flat symbol usage</p>
3425
3426<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
3427<span class="xtra li2"><span class="de2">2</span></span>3
3428</pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3429<span class="xtra li2"><span class="de2">&nbsp; <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">'&amp;'</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">'&lt;'</span><span class="sy0">,</span> <span class="st_h">'&gt;'</span></span></span><span class="br0">&#41;</span><span class="sy0">,</span></pre></td></tr></tbody></table>
3430
3431<p>which is not too different from the newly introduced group usage shown below:</p>
3432
3433<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
3434<span class="xtra li2"><span class="de2">2</span></span>3
3435<span class="xtra li2"><span class="de2">4</span></span>5
3436<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">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3437<span class="xtra li2"><span class="de2">&nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</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">&#41;</span><span class="sy0">,</span></span></span>&nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</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">'&amp;'</span><span class="br0">&#41;</span><span class="sy0">,</span>
3438<span class="xtra li2"><span class="de2">&nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</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">&#41;</span><span class="sy0">,</span></span></span>&nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'&amp;lt;'</span><span class="sy0">,</span> <span class="st_h">'&gt;'</span><span class="br0">&#41;</span>
3439<span class="xtra li2"><span class="de2"><span class="br0">&#41;</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3440
3441<div class="note">
3442
3443<div class="note-header">Note:</div>
3444
3445<p>Please note that versions before 1.0.7.21 will silently ignore this setting.</p>
3446
3447<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
3448  heavily scrambled code output.</p>
3449
3450</div>
3451
3452<p>The following case sensitivity group alludes to the keywords section: here you can set which keyword groups are case sensitive.</p>
3453
3454<p>In the <strong>&#8216;CASE_SENSITIVE&#8217;</strong> group there&#8217;s a special key <code>GESHI_COMMENTS</code> which is used to set whether comments are
3455case sensitive or not (for example, BASIC has the REM statement which while not being case sensitive is still alphanumeric, and
3456as in the example given before about the Java language file using &#8220;import&#8221; as a single line comment, this can be
3457useful sometimes. <strong>true</strong> if comments are case sensitive, <strong>false</strong> otherwise. All of the other indices
3458correspond to indices in the <code>'KEYWORDS'</code> section (see above).</p>
3459
3460<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>
3461
3462<p>This is the fun part! Here you get to choose the colours, fonts, backgrounds and anything else you&#8217;d like for your
3463language file.</p>
3464
3465<p>Here&#8217;s an example:</p>
3466
3467<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
3468<span class="xtra li2"><span class="de2">2</span></span>3
3469<span class="xtra li2"><span class="de2">4</span></span>5
3470<span class="xtra li2"><span class="de2">6</span></span>7
3471<span class="xtra li2"><span class="de2">8</span></span>9
3472<span class="xtra li2"><span class="de2">10</span></span>11
3473<span class="xtra li2"><span class="de2">12</span></span>13
3474<span class="xtra li2"><span class="de2">14</span></span>15
3475<span class="xtra li2"><span class="de2">16</span></span>17
3476<span class="xtra li2"><span class="de2">18</span></span>19
3477<span class="xtra li2"><span class="de2">20</span></span>21
3478<span class="xtra li2"><span class="de2">22</span></span>23
3479<span class="xtra li2"><span class="de2">24</span></span>25
3480<span class="xtra li2"><span class="de2">26</span></span>27
3481<span class="xtra li2"><span class="de2">28</span></span>29
3482<span class="xtra li2"><span class="de2">30</span></span>31
3483<span class="xtra li2"><span class="de2">32</span></span>33
3484<span class="xtra li2"><span class="de2">34</span></span>35
3485<span class="xtra li2"><span class="de2">36</span></span>37
3486<span class="xtra li2"><span class="de2">38</span></span>39
3487</pre></td><td class="de1"><pre class="de1"><span class="st_h">'STYLES'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3488<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'KEYWORDS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span>
3489<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000066;'</span>
3490<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'COMMENTS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3491<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span>
3492<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'MULTI'</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #808080; font-style: italic;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3493<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #000099; font-weight: bold;'</span>
3494<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'BRACKETS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3495<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #66cc66;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3496<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'STRINGS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #ff0000;'</span>
3497<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3498<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #cc66cc;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3499<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'METHODS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #006600;'</span>
3500<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'SYMBOLS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3501<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #66cc66;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3502<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="st_h">'REGEXPS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">'color: #0000ff;'</span>
3503<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="st_h">'SCRIPT'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3504<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3505<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span>
3506<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></pre></td></tr></tbody></table>
3507
3508<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
3509specify (and will do so if a user tries to change your styles on the fly), so the last semi-colon in any stylesheet
3510rule is important!</p>
3511
3512<p>All strings here should contain valid stylesheet declarations (it&#8217;s also fine to have the empty string).</p>
3513
3514<ul>
3515<li><strong>&#8216;KEYWORDS&#8217;:</strong> This is an array, from keyword index to style. The index you use is the index you used in
3516the keywords section to specify the keywords belonging to that group.</li>
3517<li><strong>&#8216;COMMENTS&#8217;:</strong> This is an array, from single-line comment index to style for that index. The index &#8216;MULTI&#8217; is
3518used for multiline comments (and cannot be an array). COMMENT_REGEXP use the style given for their key as
3519if they were single-line comments.</li>
3520<li><strong>&#8216;ESCAPE_CHAR&#8217;, &#8216;BRACKETS&#8217; and &#8216;METHODS&#8217;:</strong> These are arrays with only one index: 0. You cannot add other indices to
3521these arrays.</li>
3522<li><strong>&#8216;STRINGS&#8217;:</strong> This defines the various styles for the Quotemarks you defined earlier. If you don&#8217;t use
3523multiple styles for strings there&#8217;s only one index: 0. Please also add this index in case no strings are present.</li>
3524<li><strong>&#8216;NUMBERS&#8217;:</strong> This sets the styles used to highlight numbers. The format used here depends on the format used to
3525set the formats of numbers to highlight. If you just used an integer (bitmask) for numbers, you have to either
3526specify one key with the respective constant, and\or include a key 0 as a default style. If you used an
3527array for the number markup, copy the keys used there and assign the styles accordingly.</li>
3528<li><strong>&#8216;SYMBOLS&#8217;:</strong> This provides one key for each symbol group you defined above. If you used the flat usage
3529make sure you include a key for symbols group 0.</li>
3530<li><strong>&#8216;REGEXPS&#8217;:</strong> This is an array with a style for each matching regex. Also, since 1.0.7.21, you can specify the
3531name of a function to be called, that will be given the text matched by the regex, each time a match is found.
3532Note 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
3533put the function definition at the top of the language file. Be sure to prefix the function name
3534with <code>geshi_[languagename]_</code> as to not conflict with other functions!</li>
3535<li><strong>&#8216;SCRIPT&#8217;:</strong> For languages that use script delimiters, this is where you can style each block of script. For
3536example, <abbr title="Hypertext Markup Language">HTML</abbr> and <abbr title="Extensible Markup Language">XML</abbr> have blocks that begin with &lt; and end with > (i.e. tags) and blocks that begin with &amp; and
3537end with&#160;; (i.e. character entities), and you can set a style to apply to each whole block. You specify the
3538delimiters for the blocks below. Note that many languages will not need this feature.</li>
3539</ul>
3540
3541<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>
3542
3543<p>This section lets you specify a url to visit for each keyword group. Useful for pointing functions at their online
3544manual entries.</p>
3545
3546<p>Here is an example:</p>
3547
3548<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
3549<span class="xtra li2"><span class="de2">2</span></span>3
3550<span class="xtra li2"><span class="de2">4</span></span>5
3551<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">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3552<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3553<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="st_h">'http://www.php.net/{FNAME}'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span>
3554<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3555
3556<p>The indices of this array correspond to the keyword groups you specified in the keywords section. The string <code>{FNAME}</code>
3557marks where the name of the function is substituted in. So for the example above, if the keyword being highlighted is
3558&#8220;echo&#8221;, then the keyword will be a URL pointing to <code>http://www.php.net/echo</code>. Because some languages (Java!) don&#8217;t
3559keep a uniform URL for functions/classes, you may have trouble in creating a URL for that language (though look in the
3560java language file for a novel solution to it&#8217;s problem)</p>
3561
3562<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>
3563
3564<p>If your language supports different formats of numbers (e.g. integers and float representations) and you want
3565<abbr title="Generic Syntax Highlighter">GeSHi</abbr> to handle them differently you can select from a set of predefined formats.</p>
3566
3567<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
3568<span class="xtra li2"><span class="de2">2</span></span>3
3569<span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span>
3570<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; 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>&nbsp; &nbsp; &nbsp; &nbsp; GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span> GESHI_NUMBER_FLT_NONSCI <span class="sy0">|</span>
3571<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; 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>
3572
3573<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.
3574When styling you use these constants to assign the proper styles. A style not assigned will automatically fallback to style group 0.</p>
3575
3576<div class="note">
3577
3578<div class="note-header">Note:</div>
3579
3580<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>
3581
3582</div>
3583
3584<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>
3585
3586<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
3587<span class="xtra li2"><span class="de2">2</span></span>3
3588<span class="xtra li2"><span class="de2">4</span></span>5
3589<span class="xtra li2"><span class="de2">6</span></span>7
3590</pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3591<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_INT_CSTYLE<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> GESHI_NUMBER_BIN_PREFIX_0B<span class="sy0">,</span>
3592<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> GESHI_NUMBER_OCT_PREFIX<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> GESHI_NUMBER_HEX_PREFIX<span class="sy0">,</span>
3593<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</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>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></pre></td></tr></tbody></table>
3594
3595<p>This creates 5 style groups 1..5 that will highlight each of the formats specified for each group.
3596Styling of these groups doesn&#8217;t use the constants but uses the indices you just defined.</p>
3597
3598<p>Instead of using those predefined constants you also can assign a PCRE that matches a number when using this advanced format.</p>
3599
3600<div class="note">
3601
3602<div class="note-header">Note:</div>
3603
3604<p>The extended format hasn&#8217;t been exhaustively been tested. So beware of bugs there.</p>
3605
3606</div>
3607
3608<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>
3609
3610<p>Now we&#8217;re reaching the most little-used section of a language file, which includes such goodies as object orientation
3611support 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
3612tell it to do so and what the &#8220;splitter&#8221; is between object/method etc.</p>
3613
3614<p>Here&#8217;s an example:</p>
3615
3616<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
3617<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">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3618<span class="xtra li2"><span class="de2"><span class="st_h">'OBJECT_SPLITTER'</span> <span class="sy0">=&gt;</span> <span class="st_h">'-&amp;gt;'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3619
3620<p>If your language has object orientation, the value of <code>'OOLANG'</code> is true, otherwise it is false. If it is object
3621orientated, in the <code>'OBJECT_SPLITTER'</code> value you put the <code>htmlentities()</code> version of the &#8220;splitter&#8221; between
3622objects and methods/fields. If it is not, then make this the empty string.</p>
3623
3624<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>
3625
3626<p>Regular expressions are a good way to catch any other lexic that fits certain rules but can&#8217;t be listed as a keyword.
3627A good example is variables in <abbr title="PHP: HTML Preprocessor">PHP</abbr>: variables always start with either one or two &#8220;$&#8221; signs, then alphanumeric
3628characters (a simplification). This is easy to catch with regular expressions.</p>
3629
3630<p>And new to version 1.0.2, there is an advanced way of using regular expressions to catch certain things but highlight
3631only part of those things. This is particularly useful for languages like <abbr title="Extensible Markup Language">XML</abbr>.</p>
3632
3633<div class="caution">
3634
3635<div class="caution-header">Caution:</div>
3636
3637<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">&#40;</span><span class="br0">&#41;</span></code> style!</p>
3638
3639</div>
3640
3641<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>
3642
3643<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
3644<span class="xtra li2"><span class="de2">2</span></span>3
3645<span class="xtra li2"><span class="de2">4</span></span>5
3646<span class="xtra li2"><span class="de2">6</span></span>7
3647<span class="xtra li2"><span class="de2">8</span></span>9
3648<span class="xtra li2"><span class="de2">10</span></span>11
3649<span class="xtra li2"><span class="de2">12</span></span>13
3650<span class="xtra li2"><span class="de2">14</span></span>15
3651</pre></td><td class="de1"><pre class="de1"><span class="nu0">0</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3652<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_SEARCH <span class="sy0">=&gt;</span> <span class="st_h">'(((xml:)?[a-z\-]+))(=)'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; GESHI_REPLACE <span class="sy0">=&gt;</span> <span class="st_h">'\\1'</span><span class="sy0">,</span>
3653<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_MODIFIERS <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; GESHI_BEFORE <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3654<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_AFTER <span class="sy0">=&gt;</span> <span class="st_h">'\\4'</span></span></span>&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3655<span class="xtra li2"><span class="de2"><span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; GESHI_SEARCH <span class="sy0">=&gt;</span> <span class="st_h">'(&gt;/?[a-z0-9]*(&gt;)?)'</span><span class="sy0">,</span>
3656<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_REPLACE <span class="sy0">=&gt;</span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; GESHI_MODIFIERS <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3657<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_BEFORE <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; GESHI_AFTER <span class="sy0">=&gt;</span> <span class="st_h">''</span>
3658<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span><span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*&quot;</span></pre></td></tr></tbody></table>
3659
3660<p>As you can see there are two formats. One is the &#8220;simple&#8221; format used in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> &lt; 1.0.2, and the other is a more
3661advanced syntax. Firstly, the simple syntax:</p>
3662
3663<ul>
3664<li><strong>May be in double quotes:</strong> To make it easier for those who always place their regular expressions in double quotes,
3665you may place any regular expression here in double quotes if you wish.</li>
3666<li><strong>Don&#8217;t use curly brackets where possible:</strong> If you want to use curly brackets (<code>()</code>) then by all means give it a try,
3667but I&#8217;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
3668use brackets, it would be better to use the advanced syntax.</li>
3669<li><strong>Don&#8217;t use the &#8220;everything&#8221; regex:</strong> (That&#8217;s the <code>.*?</code> regex). Use advanced syntax instead.</li>
3670</ul>
3671
3672<p>And now for advanced syntax, which gives you much more control over exactly what is highlighted:</p>
3673
3674<ul>
3675<li><strong>GESHI_SEARCH:</strong> This element specifies the regular expression to search for. If you plan to capture the output,
3676use brackets (<code>()</code>). See how in the first example above, most of the regular expression is in one set of brackets
3677(with the equals sign in other brackets). You should make sure that the part of the regular expression that is
3678supposed to match what is highlighted is in brackets.</li>
3679<li><strong>GESHI_REPLACE:</strong> This is what the stuff matched by the regular expression will be replaced with. If you&#8217;ve
3680grouped the stuff you want highlighted into brackets in the GESHI_SEARCH element, then you can use <code>\\number</code>
3681to match that group, where <code>number</code> is a number corresponding to how many open brackets are between the open
3682bracket of the group you want highlighted and the start of the GESHI_SEARCH string + 1. This may sound confusing,
3683and it probably is, but if you&#8217;re familiar with how <abbr title="PHP: HTML Preprocessor">PHP</abbr>&#8217;s regular expressions work you should understand. In the
3684example above, the opening bracket for the stuff we want highlighted is the very first bracket in the string, so
3685the number of brackets before that bracket and the start of the string is 0. So we add 1 and get our replacement
3686string of <code>\\1</code> <small>(whew!)</small>.</li>
3687</ul>
3688
3689<p>If you didn&#8217;t understand a word of that, make sure that there are brackets around the string in <code>GESHI_SEARCH</code>
3690and use <code>\\1</code> for <code>GESHI_REPLACE</code> ;)</p>
3691
3692<ul>
3693<li><strong>GESHI_MODIFIERS:</strong> Specify modifiers for your regular expression. If your regular expression includes the
3694everything matcher (<code>.*?</code>), then your modifiers should include &#8220;s&#8221; and &#8220;i&#8221; (e.g. use &#8216;si&#8217; for this).</li>
3695<li><strong>GESHI_BEFORE:</strong>Specifies a bracket group that should appear before the highlighted match (this bracketed group will
3696not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something
3697before what you wanted to highlight, and you don&#8217;t want that part to disappear in the highlighted result.</li>
3698<li><strong>GESHI_AFTER:</strong>Specifies a bracket group that should appear after the highlighted match (this bracketed group will
3699not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something
3700after what you wanted to highlight, and you don&#8217;t want that part to disappear in the highlighted result.</li>
3701</ul>
3702
3703<p>Is that totally confusing? Here&#8217;s the test for if you&#8217;re an android or not: If you found that perfectly understandable
3704then you&#8217;re an android ;). Here&#8217;s a better example:</p>
3705
3706<p>Let&#8217;s say that I&#8217;m making a language, and variables in this language always start with a dollar sign ($), are always
3707written in lowercase letters and always end with an ampersand (&amp;). eg:</p>
3708
3709<p><code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&amp;</span> <span class="sy0">=</span> <span class="st_h">'bar'</span></code></p>
3710
3711<p>I want to highlight <em>only the text between the $ and the &amp;</em>. How do I do that? With simple regular expressions I can&#8217;t,
3712but with advanced, it&#8217;s relatively easy:</p>
3713
3714<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
3715<span class="xtra li2"><span class="de2">2</span></span>3
3716<span class="xtra li2"><span class="de2">4</span></span>5
3717<span class="xtra li2"><span class="de2">6</span></span>7
3718<span class="xtra li2"><span class="de2">8</span></span>9
3719<span class="xtra li2"><span class="de2">10</span></span>11
3720<span class="xtra li2"><span class="de2">12</span></span>13
3721<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">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3722<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// search for a dollar sign, then one or more of the characters a-z, then an ampersand</span></span></span>&nbsp; &nbsp; GESHI_SEARCH <span class="sy0">=&gt;</span> <span class="st_h">'(\$)([a-z]+)(&amp;)'</span><span class="sy0">,</span>
3723<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// we wanna highlight the characters, which are in the second bracketed group</span></span></span>&nbsp; &nbsp; GESHI_REPLACE <span class="sy0">=&gt;</span> <span class="st_h">'\\2'</span><span class="sy0">,</span>
3724<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// no modifiers, since we're not matching the &quot;anything&quot; regex</span></span></span>&nbsp; &nbsp; GESHI_MODIFIERS <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3725<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// before the highlighted characters should be the first</span></span></span>&nbsp; &nbsp; <span class="co1">// bracketed group (always a dollar sign in this example)</span>
3726<span class="xtra li2"><span class="de2">&nbsp; &nbsp; GESHI_BEFORE <span class="sy0">=&gt;</span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="co1">// after the highlighted characters should be the third</span>
3727<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="co1">// bracketed group (always an ampersand in this example)</span></span></span>&nbsp; &nbsp; GESHI_AFTER <span class="sy0">=&gt;</span> <span class="st_h">'\\3'</span>
3728<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table>
3729
3730<p>So if someone tried to highlight using my language, all cases of <code>$foo&amp;</code> would turn into:</p>
3731
3732<p><code class="highlighted html4strict">$<span class="sc2">&lt;<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">&quot;color: blue;&quot;</span>&gt;</span>foo<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">span</span>&gt;&lt;<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">&quot;color: green;&quot;</span>&gt;</span><span class="sc1">&amp;amp;</span><span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">span</span>&gt;</span></code></p>
3733
3734<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">&amp;</span></code>)</p>
3735
3736<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>
3737
3738<p>For languages like <abbr title="Hypertext Markup Language">HTML</abbr>, it&#8217;s good if we can highlight a tag (like <code class="highlighted html4strict"><span class="sc2">&lt;<span class="kw2">a</span>&gt;</span></code> for example). But how do we stop
3739every single &#8220;a&#8221; in the source getting highlighted? What about for attributes? If I&#8217;ve got the word &#8220;colspan&#8221; in my
3740text I don&#8217;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 &#8220;Strict Blocks&#8221;.</p>
3741
3742<p>Here is an example:</p>
3743
3744<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
3745<span class="xtra li2"><span class="de2">2</span></span>3
3746<span class="xtra li2"><span class="de2">4</span></span>5
3747<span class="xtra li2"><span class="de2">6</span></span>7
3748<span class="xtra li2"><span class="de2">8</span></span>9
3749<span class="xtra li2"><span class="de2">10</span></span>11
3750<span class="xtra li2"><span class="de2">12</span></span>13
3751<span class="xtra li2"><span class="de2">14</span></span>15
3752<span class="xtra li2"><span class="de2">16</span></span>17
3753<span class="xtra li2"><span class="de2">18</span></span>19
3754<span class="xtra li2"><span class="de2">20</span></span>21
3755<span class="xtra li2"><span class="de2">22</span></span>23
3756<span class="xtra li2"><span class="de2">24</span></span>25
3757<span class="xtra li2"><span class="de2">26</span></span>27
3758</pre></td><td class="de1"><pre class="de1"><span class="sy1">&lt;?</span> <span class="coMULTI">/* ... */</span>
3759<span class="xtra li2"><span class="de2"><span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=&gt;</span> GESHI_MAYBE<span class="sy0">,</span></span></span><span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3760<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;?php'</span> <span class="sy0">=&gt;</span> <span class="st_h">'?&gt;'</span>
3761<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3762<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;?'</span> <span class="sy0">=&gt;</span> <span class="st_h">'?&gt;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span>
3763<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;%'</span> <span class="sy0">=&gt;</span> <span class="st_h">'%&gt;'</span>
3764<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3765<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'&lt;script language=&quot;php&quot;&gt;'</span> <span class="sy0">=&gt;</span> <span class="st_h">'&lt;/script&gt;'</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3766<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;/(&lt;\?(?:php)?)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\&quot;</span>(?:[^<span class="es1">\&quot;</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\&quot;</span>|\/\*(?!\*\/).*?\*\/|.)*?(\?&gt;|\Z)/sm&quot;</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;/(&lt;%)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\&quot;</span>(?:[^<span class="es1">\&quot;</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\&quot;</span>|\/\*(?!\*\/).*?\*\/|.)*?(%&gt;|\Z)/sm&quot;</span>
3767<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></span></span><span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3768<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">0</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">1</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3769<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">3</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span>
3770<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="nu0">4</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; <span class="nu0">5</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span>
3771<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span></span></span><span class="coMULTI">/* ... */</span> <span class="sy1">?&gt;</span></pre></td></tr></tbody></table>
3772
3773<p>What is strict mode? Strict mode says that highlighting only occurs inside the blocks you specify. You can see from
3774the example above that highlighting will only occur if the source is inside <code class="highlighted php"><span class="kw2">&lt;?php</span> <span class="sy0">...</span> <span class="sy1">?&gt;</span></code> (though note the
3775<code>GESHI_MAYBE</code>!). Here are some points about strict highlighting:</p>
3776
3777<ul>
3778<li><strong>&#8216;STRICT_MODE_APPLIES&#8217;:</strong> This takes three values (all constants):
3779
3780<ul>
3781<li><code>GESHI_ALWAYS</code>: Strict mode always applies for all of the blocks you specify. Users of your language
3782file cannot turn strict mode off. This should be used for markup languages.</li>
3783<li><code>GESHI_NEVER</code>: Strict mode is never used. Users of your language file cannot turn strict mode on. Use this
3784value if there is no such thing as a block of code that would not be highlighted in your language
3785(most languages, like C, Java etc. use this because anything in a C file should be highlighted).</li>
3786<li><code>GESHI_MAYBE</code>: Strict mode &#42;sometimes&#42; applies. It defaults to &#8220;off&#8221;. Users can turn strict mode on if
3787they please. If strict mode is off then everything in the source will be highlighted, even things outside
3788the strict block markers. If strict mode is on the nothing outside strict block markers will be highlighted.</li>
3789</ul></li>
3790<li><strong>&#8216;SCRIPT_DELIMITERS&#8217;:</strong> This is an array of script delimiters, in the format of the above. The indices are use in the
3791&#8216;SCRIPT&#8217; part of the styles section for highlighting everything in a strict block in a certain way.
3792For example, you could set up your language file to make the background yellow of any code inside a strict
3793block this way. The delimiters are in the form <code class="highlighted php"><span class="st_h">'OPEN'</span> <span class="sy0">=&gt;</span> <span class="st_h">'CLOSE'</span></code>. Delimiters can be of any
3794length > 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">&#40;</span><span class="br0">&#41;</span></code>!</li>
3795<li><strong>&#8216;HIGHLIGHT_STRICT_BLOCK&#8217;:</strong> specifies whether any highlighting should go on inside each block. Most of
3796the time this should be true, but for example, in the <abbr title="Extensible Markup Language">XML</abbr> language file highlighting is turned off for
3797blocks beginning with <code class="highlighted html4strict"><span class="sc0">&lt;!DOCTYPE</span></code> and ending with <code class="highlighted html4strict">&gt;</code>. However, you can still
3798style the overall block using the method described above, and the <abbr title="Extensible Markup Language">XML</abbr> language file does just that.</li>
3799</ul>
3800
3801<div class="note">
3802
3803<div class="note-header">Note:</div>
3804
3805<p>The delimiters should be in <em>reverse alphabetical order</em>. Note that in the above example, <code class="highlighted php"><span class="kw2">&lt;?php</span></code>
3806  comes before <code class="highlighted php"><span class="sy1">&lt;?</span></code>.</p>
3807
3808</div>
3809
3810<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
3811that matches <em>the full block</em> you wish to highlight. If the regular expression match starts at the same position
3812as a previous array declaration the Regexp match is taken. This is to allow for a fall-back when a preg_match
3813doesn&#8217;t quite work as expected so you still get reasonably well results.</p>
3814
3815<p>If you didn&#8217;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
3816to fix some issues that have been there for about 3 years.</p>
3817
3818<div class="caution">
3819
3820<div class="caution-header">Caution:</div>
3821
3822<p>For <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions &lt;4.3.3 Strict Block Regexps are completely ignored due to problems in those version
3823  that would cause loads of warning messages otherwise.</p>
3824
3825</div>
3826
3827<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>
3828
3829<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.
3830To 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.
3831With 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>
3832
3833<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.
3834If a given setting isn&#8217;t present the usual default values of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are used.
3835No validation of settings is performed for these settings. Also note that unknown settings are silently ignored.</p>
3836
3837<div class="caution">
3838
3839<div class="caution-header">Caution:</div>
3840
3841<p>All <strong>PARSER_CONTROL</strong> settings are experimental and subject to change.
3842  So if you need a special setting in a public language file you should consider requesting it upstream.
3843  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>
3844
3845</div>
3846
3847<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.
3848Usually <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.
3849If 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 &lt;) you can change those conditions here.</p>
3850
3851<p>Keyword boundary rules can either be set globally (directly within the PARSER_CONTROL&#8217;s KEYWORDS section or on a per-group basis.
3852E.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>
3853
3854<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
3855<span class="xtra li2"><span class="de2">2</span></span>3
3856<span class="xtra li2"><span class="de2">4</span></span>5
3857<span class="xtra li2"><span class="de2">6</span></span>7
3858<span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3859<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'KEYWORDS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3860<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=&gt;</span> <span class="st_h">'(?&lt;=&amp;lt;|&amp;lt;\/)'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'DISALLOWED_AFTER'</span> <span class="sy0">=&gt;</span> <span class="st_h">'(?=\s|\/|&amp;gt;)'</span><span class="sy0">,</span>
3861<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3862<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span></span></span></pre></td></tr></tbody></table>
3863
3864<div class="note">
3865
3866<div class="note-header">Note:</div>
3867
3868<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&#8217;t define what to prevent, but what to match in order to find a keyword.
3869  The reason for this strange naming is based in the original implementation of this feature when Nigel implemented this in the old parser statically.
3870  When this implementation was brought out via the <strong>PARSER_CONTROL</strong> settings the original naming wasn&#8217;t altered since at that time this really was a blacklist of characters.
3871  Later on this implementation was changed from a blacklist of characters to a part of a PCRE regexp, but leaving the name.
3872  The naming might be subject to change though.</p>
3873
3874</div>
3875
3876<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.
3877The 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>
3878
3879<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
3880<span class="xtra li2"><span class="de2">2</span></span>3
3881<span class="xtra li2"><span class="de2">4</span></span>5
3882</pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3883<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'KEYWORDS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'SPACE_AS_WHITESPACE'</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span>
3884<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span></pre></td></tr></tbody></table>
3885
3886<p>Another option of interest might be disabling certain features for a given language.
3887This might come in handy if the language file you are working on doesn&#8217;t support a given function or highlighting certain aspects won&#8217;t work properly or would interfere with custom implementations using regular expressions.</p>
3888
3889<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
3890<span class="xtra li2"><span class="de2">2</span></span>3
3891<span class="xtra li2"><span class="de2">4</span></span>5
3892<span class="xtra li2"><span class="de2">6</span></span>7
3893<span class="xtra li2"><span class="de2">8</span></span>9
3894<span class="xtra li2"><span class="de2">10</span></span>11
3895<span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3896<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'ENABLE_FLAGS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'ALL'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span>
3897<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'NUMBERS'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'METHODS'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span>
3898<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'SCRIPT'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'SYMBOLS'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span>
3899<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'BRACKETS'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span>
3900<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'STRINGS'</span> <span class="sy0">=&gt;</span> GESHI_NEVER<span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>
3901<span class="xtra li2"><span class="de2">&nbsp; &nbsp; <span class="br0">&#41;</span></span></span></pre></td></tr></tbody></table>
3902
3903<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">=&gt;</span>value</code> pairs.
3904Valid 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>).
3905Valid values are the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants <code class="highlighted php">GESHI_NEVER</code> (don&#8217;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&#8217;s this highlighted).
3906The value <code class="highlighted php">GESHI_MAYBE</code> is the default one and thus needs not to be set explicitely.</p>
3907
3908<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>
3909
3910<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
3911<span class="xtra li2"><span class="de2">2</span></span>3
3912<span class="xtra li2"><span class="de2">4</span></span>5
3913</pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3914<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'COMMENTS'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=&gt;</span> <span class="st_h">'$'</span>
3915<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; <span class="br0">&#41;</span></pre></td></tr></tbody></table>
3916
3917<p>With the current implementation the DISALLOWED_BEFORE COMMENT-specific setting is a list of characters. But this is subject to change.</p>
3918
3919<div class="note">
3920
3921<div class="note-header">Note:</div>
3922
3923<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>
3924
3925</div>
3926
3927<p>Another <strong>PARSER_CONTROL</strong> setting for the environment around certain syntactic constructs refers to the handling of object-oriented languages.</p>
3928
3929<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
3930<span class="xtra li2"><span class="de2">2</span></span>3
3931<span class="xtra li2"><span class="de2">4</span></span>5
3932<span class="xtra li2"><span class="de2">6</span></span>7
3933</pre></td><td class="de1"><pre class="de1">&nbsp; &nbsp; <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
3934<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'OOLANG'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'MATCH_BEFORE'</span> <span class="sy0">=&gt;</span> <span class="st_h">''</span><span class="sy0">,</span>
3935<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'MATCH_AFTER'</span> <span class="sy0">=&gt;</span> <span class="st_h">'[a-zA-Z_][a-zA-Z0-9_]*'</span><span class="sy0">,</span></span></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'MATCH_SPACES'</span> <span class="sy0">=&gt;</span> <span class="st_h">'[\s]*'</span>
3936<span class="xtra li2"><span class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span></span></span>&nbsp; &nbsp; <span class="br0">&#41;</span></pre></td></tr></tbody></table>
3937
3938<div class="caution">
3939
3940<div class="caution-header">Caution:</div>
3941
3942<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>
3943
3944</div>
3945
3946<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>
3947
3948<p>All language files should end with:</p>
3949
3950<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
3951<span class="xtra li2"><span class="de2">2</span></span>3
3952</pre></td><td class="de1"><pre class="de1"><span class="br0">&#41;</span><span class="sy0">;</span>
3953<span class="xtra li2"><span class="de2">&nbsp;</span></span><span class="sy1">?&gt;</span></pre></td></tr></tbody></table>
3954
3955<p>That is the string content <code class="highlighted php"><span class="st0">&quot;<span class="es1">\n</span>);<span class="es1">\n</span>?&gt;<span class="es1">\n</span>&quot;</span></code>.</p>
3956
3957<div class="caution">
3958
3959<div class="caution-header">Caution:</div>
3960
3961<p>Make sure that there is EXACTLY one linebreak character at the end. If you accidentially include more
3962  you might end up with messages like &#8220;Headers already sent&#8221;.</p>
3963
3964</div>
3965
3966<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>
3967
3968<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
3969language files it finds in the geshi/ subdirectory of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> installation for mistakes.</p>
3970
3971<p>Please make sure that your language does not contain any mistakes that this script shows you when sending in
3972your language file for inclusion into the official release as this saves work for us when including your file.
3973Also you can be sure your language file will work as expected once your language file validates correctly.</p>
3974
3975<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&#8217;re working on it
3976and are happy about every patch we get!</p>
3977
3978<h2 id="method-constant-reference">5 Method/Constant Reference</h2><div class="nav"><a href="#lang-validation">Previous</a></div>
3979
3980<p>I&#8217;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
3981the sourcecode in the <a href="api/index.html">api</a> directory, but have forgot to update the documentation! However, it is available,
3982and may assist you in coding, especially for plugin coders.</p>
3983
3984<hr />
3985
3986<p>That&#8217;s all, folks!</p>
3987
3988<p>I&#8217;ve improved the documentation greatly from version 1.0.1, but there may still be problems with it, or it may still
3989be confusing for you. Or perhaps I was just plain wrong about one point! If so, contact me and I&#8217;ll do my best to sort it out.</p>
3990
3991<p>In case you were wondering, I&#8217;ve finished development of the 1.0.X thread of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. The only releases I&#8217;ll make in this
3992thread will be of the bug-fix/add language files type. In particular, version 1.0.2 was a &#8220;concept&#8221; release - testing
3993how far I could take the highlighting idea (as well as ideas from others).</p>
3994
3995<p>I&#8217;m planning a code rewrite for 1.2.X, which will be based on a new engine - a &#8220;psuedo-tokenizer&#8221; engine. Hopefully
3996it will massively reduce the server load and time taken (by almost eliminating regexps), while providing
3997superior highlighting. But fear not! The interface and method names should all remain the same ^_^ (though I can&#8217;t
3998say the same for language files!)</p>
3999
4000<p>And finally, a couple of people have been asking me: how did you generate that documentation? The amazing answer is: my
4001brain. And yes, it took a long time, and I don&#8217;t recommend doing it this way. And yes, you can borrow the styles if
4002you like, though flick me an e-mail if you do.</p>
4003
4004<p>Anyway, enough blather from me. Get <abbr title="Generic Syntax Highlighter">GeSHi</abbr> working for you already! :D</p>
4005
4006<div class="header">
4007
4008<dl>
4009<dt>Authors:</dt>
4010<dd>&copy; 2004 - 2007&#160;<a href="mailto:nigel@geshi.org">Nigel McNie</a></dd>
4011
4012<dd>&copy; 2007 - 2008&#160;<a href="mailto:BenBE@omorphia.de">Benny Baumann</a></dd>
4013
4014<dd>&copy; 2008&#160;<a href="mailto:mail@milianw.de">Milian Wolff</a></dd>
4015
4016<dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt>
4017<dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd>
4018</dl>
4019
4020</div>
4021
4022<div class="footnotes">
4023<hr />
4024<ol>
4025
4026<li id="fn:xhtml-strict">
4027<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
4028to use one of the other header types instead.&#160;<a href="#fnref:xhtml-strict" rev="footnote">&#8617;</a></p>
4029</li>
4030
4031<li id="fn:php-version-note">
4032<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
4033work 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
4034contact us if you find compatibility issues so we can try to resolve them. It&#8217;s only <abbr title="PHP: HTML Preprocessor">PHP</abbr> 4.4.X and above that
4035is verified to work.&#160;<a href="#fnref:php-version-note" rev="footnote">&#8617;</a></p>
4036</li>
4037
4038<li id="fn:phpbb-note">
4039<p>I am no longer working on this MOD, however if someone else wants to they can contact me for more
4040information.&#160;<a href="#fnref:phpbb-note" rev="footnote">&#8617;</a></p>
4041</li>
4042
4043<li id="fn:plugin-only">
4044<p>Available as plugin only. In addition, some of the other entries mentioned
4045here may only have <abbr title="Generic Syntax Highlighter">GeSHi</abbr> available as a plugin.&#160;<a href="#fnref:plugin-only" rev="footnote">&#8617;</a></p>
4046</li>
4047
4048</ol>
4049</div>
4050    </body>
4051</html>