[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
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.11</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 .co4 {color: #666666;} 223 .bash .es1 {color: #000099; font-weight: bold;} 224 .bash .es2 {color: #007800;} 225 .bash .es3 {color: #007800;} 226 .bash .es4 {color: #007800;} 227 .bash .es5 {color: #780078;} 228 .bash .es_h {color: #000099; font-weight: bold;} 229 .bash .br0 {color: #7a0874; font-weight: bold;} 230 .bash .sy0 {color: #000000; font-weight: bold;} 231 .bash .st0 {color: #ff0000;} 232 .bash .st_h {color: #ff0000;} 233 .bash .nu0 {color: #000000;} 234 .bash .re0 {color: #007800;} 235 .bash .re1 {color: #007800;} 236 .bash .re2 {color: #007800;} 237 .bash .re4 {color: #007800;} 238 .bash .re5 {color: #660033;} 239 .bash .ln-xtra, .bash li.ln-xtra, .bash div.ln-xtra {background-color: #ffc;} 240 .bash span.xtra { display:block; } 241 242 /** 243 * GeSHi Dynamically Generated Stylesheet 244 * -------------------------------------- 245 * Dynamically generated stylesheet for php 246 * CSS class: , CSS id: 247 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 248 * (http://qbnz.com/highlighter/ and http://geshi.org/) 249 * -------------------------------------- 250 */ 251 .php .de1, .php .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 252 .php {font-family:monospace;} 253 .php .imp {font-weight: bold; color: red;} 254 .php li, .php .li1 {font-weight: normal; vertical-align:top;} 255 .php .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 256 .php .li2 {font-weight: bold; vertical-align:top;} 257 .php .kw1 {color: #b1b100;} 258 .php .kw2 {color: #000000; font-weight: bold;} 259 .php .kw3 {color: #990000;} 260 .php .kw4 {color: #009900; font-weight: bold;} 261 .php .co1 {color: #666666; font-style: italic;} 262 .php .co2 {color: #666666; font-style: italic;} 263 .php .co3 {color: #0000cc; font-style: italic;} 264 .php .co4 {color: #009933; font-style: italic;} 265 .php .coMULTI {color: #666666; font-style: italic;} 266 .php .es0 {color: #000099; font-weight: bold;} 267 .php .es1 {color: #000099; font-weight: bold;} 268 .php .es2 {color: #660099; font-weight: bold;} 269 .php .es3 {color: #660099; font-weight: bold;} 270 .php .es4 {color: #006699; font-weight: bold;} 271 .php .es5 {color: #006699; font-weight: bold; font-style: italic;} 272 .php .es6 {color: #009933; font-weight: bold;} 273 .php .es_h {color: #000099; font-weight: bold;} 274 .php .br0 {color: #009900;} 275 .php .sy0 {color: #339933;} 276 .php .sy1 {color: #000000; font-weight: bold;} 277 .php .st0 {color: #0000ff;} 278 .php .st_h {color: #0000ff;} 279 .php .nu0 {color: #cc66cc;} 280 .php .nu8 {color: #208080;} 281 .php .nu12 {color: #208080;} 282 .php .nu19 {color:#800080;} 283 .php .me1 {color: #004000;} 284 .php .me2 {color: #004000;} 285 .php .re0 {color: #000088;} 286 .php .ln-xtra, .php li.ln-xtra, .php div.ln-xtra {background-color: #ffc;} 287 .php span.xtra { display:block; } 288 289 /** 290 * GeSHi Dynamically Generated Stylesheet 291 * -------------------------------------- 292 * Dynamically generated stylesheet for html4strict 293 * CSS class: , CSS id: 294 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 295 * (http://qbnz.com/highlighter/ and http://geshi.org/) 296 * -------------------------------------- 297 */ 298 .html4strict .de1, .html4strict .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 299 .html4strict {font-family:monospace;} 300 .html4strict .imp {font-weight: bold; color: red;} 301 .html4strict li, .html4strict .li1 {font-weight: normal; vertical-align:top;} 302 .html4strict .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 303 .html4strict .li2 {font-weight: bold; vertical-align:top;} 304 .html4strict .kw2 {color: #000000; font-weight: bold;} 305 .html4strict .kw3 {color: #000066;} 306 .html4strict .es0 {color: #000099; font-weight: bold;} 307 .html4strict .br0 {color: #66cc66;} 308 .html4strict .sy0 {color: #66cc66;} 309 .html4strict .st0 {color: #ff0000;} 310 .html4strict .nu0 {color: #cc66cc;} 311 .html4strict .sc-2 {color: #404040;} 312 .html4strict .sc-1 {color: #808080; font-style: italic;} 313 .html4strict .sc0 {color: #00bbdd;} 314 .html4strict .sc1 {color: #ddbb00;} 315 .html4strict .sc2 {color: #009900;} 316 .html4strict .ln-xtra, .html4strict li.ln-xtra, .html4strict div.ln-xtra {background-color: #ffc;} 317 .html4strict span.xtra { display:block; } 318 319 /** 320 * GeSHi Dynamically Generated Stylesheet 321 * -------------------------------------- 322 * Dynamically generated stylesheet for css 323 * CSS class: , CSS id: 324 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 325 * (http://qbnz.com/highlighter/ and http://geshi.org/) 326 * -------------------------------------- 327 */ 328 .css .de1, .css .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 329 .css {font-family:monospace;} 330 .css .imp {font-weight: bold; color: red;} 331 .css li, .css .li1 {font-weight: normal; vertical-align:top;} 332 .css .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 333 .css .li2 {font-weight: bold; vertical-align:top;} 334 .css .kw1 {color: #000000; font-weight: bold;} 335 .css .kw2 {color: #993333;} 336 .css .co1 {color: #a1a100;} 337 .css .co2 {color: #ff0000; font-style: italic;} 338 .css .coMULTI {color: #808080; font-style: italic;} 339 .css .es0 {color: #000099; font-weight: bold;} 340 .css .es2 {color: #000099; font-weight: bold;} 341 .css .br0 {color: #00AA00;} 342 .css .sy0 {color: #00AA00;} 343 .css .st0 {color: #ff0000;} 344 .css .nu0 {color: #cc66cc;} 345 .css .re0 {color: #cc00cc;} 346 .css .re1 {color: #6666ff;} 347 .css .re2 {color: #3333ff;} 348 .css .re3 {color: #933;} 349 .css .ln-xtra, .css li.ln-xtra, .css div.ln-xtra {background-color: #ffc;} 350 .css span.xtra { display:block; } 351 352 /** 353 * GeSHi Dynamically Generated Stylesheet 354 * -------------------------------------- 355 * Dynamically generated stylesheet for java 356 * CSS class: , CSS id: 357 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 358 * (http://qbnz.com/highlighter/ and http://geshi.org/) 359 * -------------------------------------- 360 */ 361 .java .de1, .java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 362 .java {font-family:monospace;} 363 .java .imp {font-weight: bold; color: red;} 364 .java li, .java .li1 {font-weight: normal; vertical-align:top;} 365 .java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 366 .java .li2 {font-weight: bold; vertical-align:top;} 367 .java .kw1 {color: #000000; font-weight: bold;} 368 .java .kw2 {color: #000066; font-weight: bold;} 369 .java .kw3 {color: #003399;} 370 .java .kw4 {color: #000066; font-weight: bold;} 371 .java .co1 {color: #666666; font-style: italic;} 372 .java .co2 {color: #006699;} 373 .java .co3 {color: #008000; font-style: italic; font-weight: bold;} 374 .java .coMULTI {color: #666666; font-style: italic;} 375 .java .es0 {color: #000099; font-weight: bold;} 376 .java .br0 {color: #009900;} 377 .java .sy0 {color: #339933;} 378 .java .st0 {color: #0000ff;} 379 .java .nu0 {color: #cc66cc;} 380 .java .me1 {color: #006633;} 381 .java .me2 {color: #006633;} 382 .java .ln-xtra, .java li.ln-xtra, .java div.ln-xtra {background-color: #ffc;} 383 .java span.xtra { display:block; } 384 385 386 </style> 387 </head> 388 <body> 389 <h1 id="top"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Documentation</h1> 390 391 <div class="header"> 392 393 <p>Version 1.0.8.11</p> 394 395 <p><img src="http://qbnz.com/highlighter/images/geshi.png" alt="The GeSHi Logo" /></p> 396 397 <dl> 398 <dt>Authors:</dt> 399 <dd>© 2004 - 2007 <a href="mailto:[email protected]">Nigel McNie</a></dd> 400 401 <dd>© 2007 - 2012 <a href="mailto:[email protected]">Benny Baumann</a></dd> 402 403 <dd>© 2008 - 2009 <a href="mailto:[email protected]">Milian Wolff</a></dd> 404 405 <dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt> 406 <dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd> 407 </dl> 408 409 </div> 410 411 <p>This is the documentation for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - Generic Syntax Highlighter.</p> 412 413 <p>The most modern version of this document is available on the web - 414 go to <a href="http://qbnz.com/highlighter/documentation.php">http://qbnz.com/highlighter/documentation.php</a> to view it.</p> 415 416 <p>Any comments, questions, confusing points? Please <a href="#feedback">get in contact</a> with the developers! We 417 need all the information we can get to make the use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> and everything related to it (including this documentation) 418 a breeze.</p> 419 420 <h2 id="contents">Contents</h2> 421 422 <div id="toc"><ul> 423 <li><a href="#introduction">1 Introduction</a><ul> 424 <li><a href="#features">1.1 Features</a></li> 425 <li><a href="#about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 426 <li><a href="#credits">1.3 Credits</a></li> 427 <li><a href="#feedback">1.4 Feedback</a></li> 428 </ul></li> 429 <li><a href="#the-basics">2 The Basics</a><ul> 430 <li><a href="#getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</a><ul> 431 <li><a href="#requirements">2.1.1 Requirements</a></li> 432 <li><a href="#downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 433 <li><a href="#extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 434 <li><a href="#installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 435 </ul></li> 436 <li><a href="#basic-usage">2.2 Basic Usage</a></li> 437 </ul></li> 438 <li><a href="#advanced-features">3 Advanced Features</a><ul> 439 <li><a href="#the-code-container">3.1 The Code Container</a></li> 440 <li><a href="#line-numbers">3.2 Line Numbers</a><ul> 441 <li><a href="#enabling-line-numbers">3.2.1 Enabling Line Numbers</a></li> 442 <li><a href="#styling-line-numbers">3.2.2 Styling Line Numbers</a></li> 443 <li><a href="#starting-line-numbers">3.2.3 Choosing a Start Number</a></li> 444 </ul></li> 445 <li><a href="#using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a><ul> 446 <li><a href="#enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a></li> 447 <li><a href="#setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</a></li> 448 <li><a href="#getting-stylesheet">3.3.3 Getting the stylesheet for your code</a></li> 449 <li><a href="#using-an-external-stylesheet">3.3.4 Using an External Stylesheet</a></li> 450 </ul></li> 451 <li><a href="#changing-styles">3.4 Changing Styles</a><ul> 452 <li><a href="#the-overall-styles">3.4.1 The Overall Styles</a></li> 453 <li><a href="#line-number-styles">3.4.2 Line Number Styles</a></li> 454 <li><a href="#setting-keyword-styles">3.4.3 Setting Keyword Styles</a></li> 455 <li><a href="#setting-comment-styles">3.4.4 Setting Comment Styles</a></li> 456 <li><a href="#setting-other-styles">3.4.5 Setting Other Styles</a></li> 457 </ul></li> 458 <li><a href="#case-caps">3.5 Case Sensitivity and Auto Casing</a><ul> 459 <li><a href="#auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</a></li> 460 <li><a href="#setting-case-sensitivity">3.5.2 Setting Case Sensitivity</a></li> 461 </ul></li> 462 <li><a href="#changing-config">3.6 Changing the Source, Language, Config Options</a><ul> 463 <li><a href="#changing-the-source">3.6.1 Changing the Source Code</a></li> 464 <li><a href="#changing-the-language">3.6.2 Changing the Language</a></li> 465 <li><a href="#changing-the-path">3.6.3 Changing the Language Path</a></li> 466 <li><a href="#changing-the-charset">3.6.4 Changing the Character Set</a></li> 467 </ul></li> 468 <li><a href="#error-handling">3.7 Error Handling</a></li> 469 <li><a href="#disabling-lexics">3.8 Disabling styling of some Lexics</a></li> 470 <li><a href="#setting-tab-width">3.9 Setting the Tab Width</a></li> 471 <li><a href="#using-strict-mode">3.10 Using Strict Mode</a></li> 472 <li><a href="#adding-removing-keywords">3.11 Adding/Removing Keywords</a><ul> 473 <li><a href="#adding-a-keyword">3.11.1 Adding a Keyword</a></li> 474 <li><a href="#removing-a-keyword">3.11.2 Removing a Keyword</a></li> 475 <li><a href="#adding-a-keyword-group">3.11.3 Adding a Keyword Group</a></li> 476 <li><a href="#removing-a-keyword-group">3.11.4 Removing a Keyword Group</a></li> 477 </ul></li> 478 <li><a href="#headers-and-footers">3.12 Headers and Footers for Your Code</a><ul> 479 <li><a href="#keyword-substitution">3.12.1 Keyword Substitution</a></li> 480 <li><a href="#setting-header-content">3.12.2 Setting Header Content</a></li> 481 <li><a href="#setting-footer-content">3.12.3 Setting Footer Content</a></li> 482 <li><a href="#styling-header-content">3.12.4 Styling Header Content</a></li> 483 <li><a href="#styling-footer-content">3.12.5 Styling Footer Content</a></li> 484 </ul></li> 485 <li><a href="#keyword-urls">3.13 Keyword URLs</a><ul> 486 <li><a href="#setting-a-url">3.13.1 Setting a URL for a Keyword Group</a></li> 487 <li><a href="#disabling-urls">3.13.2 Disabling a URL for a Keyword Group</a></li> 488 <li><a href="#disabling-all-urls">3.13.3 Disabling all URLs for Keywords</a></li> 489 <li><a href="#styling-links">3.13.4 Styling Links</a></li> 490 <li><a href="#using-targets">3.13.5 Setting the Link Target</a></li> 491 </ul></li> 492 <li><a href="#using-contextual-importance">3.14 Using Contextual Importance</a></li> 493 <li><a href="#highlighting-special-lines-extra">3.15 Highlighting Special Lines “Extra”</a><ul> 494 <li><a href="#specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</a></li> 495 <li><a href="#styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</a></li> 496 </ul></li> 497 <li><a href="#adding-ids-to-each-line">3.16 Adding IDs to Each Line</a></li> 498 <li><a href="#getting-the-time-of-styling">3.17 Getting the Time of Styling</a></li> 499 </ul></li> 500 <li><a href="#language-files">4 Language Files</a><ul> 501 <li><a href="#language-file-example">4.1 An Example Language File</a></li> 502 <li><a href="#language-file-conventions">4.2 Language File Conventions</a></li> 503 <li><a href="#language-file-sections">4.3 Language File Sections</a><ul> 504 <li><a href="#language-file-header">4.3.1 The Header</a></li> 505 <li><a href="#language-file-start-indices">4.3.2 The First Indices</a></li> 506 <li><a href="#language-file-keywords">4.3.3 Keywords</a></li> 507 <li><a href="#language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</a></li> 508 <li><a href="#language-file-styles">4.3.5 Styles for your Language File</a></li> 509 <li><a href="#language-file-urls">4.3.6 URLs for Functions</a></li> 510 <li><a href="#language-file-numbers-support">4.3.7 Number Highlighting Support</a></li> 511 <li><a href="#language-file-oo-support">4.3.8 Object Orientation Support</a></li> 512 <li><a href="#language-file-regexps">4.3.9 Using Regular Expressions</a></li> 513 <li><a href="#language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</a></li> 514 <li><a href="#language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</a></li> 515 <li><a href="#language-file-tidying-up">4.3.12 Tidying Up</a></li> 516 </ul></li> 517 <li><a href="#lang-validation">4.4 Validating your language file</a></li> 518 </ul></li> 519 <li><a href="#method-constant-reference">5 Method/Constant Reference</a></li> 520 </ul> 521 </div> 522 523 <h2 id="introduction">1 Introduction</h2><div class="nav"><a href="#features">Next</a></div> 524 525 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is exactly what the acronym stands for: a <strong>Generic Syntax Highlighter</strong>. As long 526 as you have a language file for almost any computer language - whether it be a 527 scripting language, object orientated, markup or anything in between - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can 528 highlight it! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is extremely customisable - the same source can be highlighted 529 multiple times in multiple ways - the same source even with a different language. 530 <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 531 make use of <abbr title="Cascading Style Sheets">CSS</abbr> to save on the amount of output. And what is the cost for all of this? You need 532 <a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a>. That’s all!</p> 533 534 <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> 535 536 <p>Here are some of the standout features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>:</p> 537 538 <dl> 539 <dt>Programmed in <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</dt> 540 <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 541 can have <abbr title="Generic Syntax Highlighter">GeSHi</abbr>! Almost any free webhost supports <abbr title="PHP: HTML Preprocessor">PHP</abbr>, and <abbr title="Generic Syntax Highlighter">GeSHi</abbr> works fine with <abbr title="PHP: HTML Preprocessor">PHP</abbr> > 4.3.0<sup id="fnref:php-version-note"><a href="#fn:php-version-note" rel="footnote">2</a></sup>.</dd> 542 543 <dt>Support for many languages:</dt> 544 <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, 545 <abbr title="Assembly language">ASM</abbr> and many more!</dd> 546 547 <dt>XHTML compliant output:</dt> 548 <dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> produces XHTML compliant output, using stylesheets, so you need not worry about 549 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> ruining your claims to perfection in the standards department ;)</dd> 550 551 <dt>Highly customisable:</dt> 552 <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 553 stylesheet or not, use line numbering, change the case of output keywords… the list goes on and on!</dd> 554 555 <dt>Flexible:</dt> 556 <dd>Unfortunately, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is quite load/time intensive for large blocks of code. However, you want speed? 557 Turn off any features you don’t like, pre-make a stylesheet and use <abbr title="Cascading Style Sheets">CSS</abbr> classes to reduce the amount of output and more - 558 it’s easy to strike a balance that suits you.</dd> 559 </dl> 560 561 <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> 562 563 <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> 564 565 <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 566 languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an 567 entire project on its own. But now it has been released, work continues on a mod 568 for phpBB<sup id="fnref:phpbb-note"><a href="#fn:phpbb-note" rel="footnote">3</a></sup> - and hopefully for many forum systems, blogs and other web-based systems.</p> 569 570 <p>Several systems are using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now, including:</p> 571 572 <ul> 573 <li><a href="http://www.splitbrain.org/docuwiki/">Dokuwiki</a> - An advanced wiki engine</li> 574 <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> 575 <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> 576 <li><a href="http://www.php-fusion.co.uk/"><abbr title="PHP: HTML Preprocessor">PHP</abbr>-Fusion</a> - A constantly evolving CMS</li> 577 <li><a href="http://cypreess.dione.cc/sqlm">SQL Manager</a> - A Postgres DBAL</li> 578 <li><a href="http://www.mamboserver.com/">Mambo</a> - A popular open source CMS</li> 579 <li><a href="http://www.mediawiki.org/">MediaWiki</a> - A leader in Wikis[^plugin-only]</li> 580 <li><a href="http://www.tikiwiki.org/">TikiWiki</a> - A megapowerful Wiki/CMS</li> 581 <li><a href="http://www.tikipro.org/">TikiPro</a> - Another powerful Wiki based on TikiWiki</li> 582 <li><a href="http://www.wikkawiki.org/">WikkaWiki</a> - A flexible and lightweight Wiki engine</li> 583 <li><a href="http://robloach.net/projects/phpscripts/rweb/">RWeb</a> - A site-building tool</li> 584 </ul> 585 586 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is the original work of <a href="mailto:[email protected]">Nigel McNie</a>. The project was later handed over to <a href="mailto:[email protected]">Benny Baumann</a>. 587 Others have helped with aspects of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> also, they’re mentioned in the <a href="THANKS"><code>THANKS</code></a> file.</p> 588 589 <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> 590 591 <p>Many people have helped out with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, whether by creating language files, submitting bug 592 reports, suggesting new ideas or simply pointing out a new idea or something I’d missed. All 593 of these people have helped to build a better <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, you can see them in the <a href="THANKS"><code>THANKS</code></a> 594 file.</p> 595 596 <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 597 added feature I can’t get my head around, or suggest a new feature, or even port 598 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to anothe language? There’s lots you can do to help out, and I need it all :)</p> 599 600 <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> 601 602 <p>I need your feedback! <em>ANY</em>thing you have to say is fine, whether it be a query, 603 congratulations, a bug report or complaint, I don’t care! I want to make this software 604 the best it can be, and I need your help! You can contact me in the following ways:</p> 605 606 <ul> 607 <li><strong>E-mail:</strong> <a href="mailto:[email protected]">Nigel McNie</a>, <a href="mailto:[email protected]">Benny Baumann</a> or better yet: use the <a href="http://lists.sourceforge.net/mailman/listinfo/geshi-users">geshi-users</a> mailinglist</li> 608 <li><strong>Forums:</strong> <a href="http://sourceforge.net/forum?group_id=114997">Sourceforge.net Forums</a></li> 609 <li><strong>IRC:</strong> <a href="irc://irc.freenode.net/geshi">#geshi</a> on <a href="http://freenode.net">Freenode</a></li> 610 </ul> 611 612 <p>Remember, any help I am grateful for :)</p> 613 614 <h2 id="the-basics">2 The Basics</h2><div class="nav"><a href="#feedback">Previous</a> | <a href="#getting-geshi">Next</a></div> 615 616 <p>In this section, you’ll learn a bit about <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, how it works and what it uses, how to install it and how to use 617 it to perform basic highlighting.</p> 618 619 <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> 620 621 <p>If you’re reading this and don’t have <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, that’s a problem ;). So, how do you get your hands on it?</p> 622 623 <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> 624 625 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> requires the following to be installable:</p> 626 627 <ul> 628 <li><strong><a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a></strong>. It’s untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why 629 it won’t work with any version of <abbr title="PHP: HTML Preprocessor">PHP</abbr> above 4.3.0.</li> 630 <li><strong>Approximately 2 megabytes of space</strong>. The actual script is small - around 150K - but most of the size comes 631 from the large number of language files (over 100!). If you’re pushed for space, make sure you don’t upload to 632 your server the <code>docs/</code> or <code>contrib/</code> directory, and you may want to leave out any language files that don’t 633 take your fancy either.</li> 634 </ul> 635 636 <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 637 me know why and I’ll fix it.</p> 638 639 <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> 640 641 <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 642 visiting <a href="http://qbnz.com/highlighter/downloads.php">http://qbnz.com/highlighter/downloads.php</a> to obtain the latest version. 643 This is suitable especially when you plan on using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on an production website 644 or otherwise need a stable copy for flawless operation.</p> 645 646 <p>If you are somewhat more sophisticated or need a feature just recently implemented 647 you might consider getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> by downloading via SVN. There are multiple ways 648 for doing so and each one has its own advantages and disadvantages. Let’s cover 649 the various locations in the SVN you might download from:</p> 650 651 <ul> 652 <li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/tags/">https://geshi.svn.sourceforge.net/svnroot/geshi/tags/</a>:<br /> 653 This directory holds all previous releases of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> each as a subdirectory. By downloading from here you can test your code with various old versions 654 in case something has been broken recently.</li> 655 <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 /> 656 This directory is the right place for you if you want to have reasonably current versions of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> but need something that is stable. This directory 657 is updated once in a while between updates whenever there’s something new but which is already reasonably stable. This branch is used to form the 658 actual release once the work is done.</li> 659 <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 /> 660 This directory is the working directory where every new feature, patch or improvement is committed to. This directory is updated regularly, but is not 661 guaranteed to be tested and stable at all times. With this version you’ll always get the latest version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> out there, but beware of bugs! There 662 will be loads of them here! So this is absolutely <strong>not recommended</strong> for productive use!</li> 663 </ul> 664 665 <p>If you have choosen the right SVN directory for you do a quick 666 <code class="highlighted bash"><span class="kw2">svn co</span> <span class="re1">$SVNPATH</span> geshi</code> where <code class="highlighted bash"><span class="co4">$</span>SVNPATH</code> is one of the above paths and your desired version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be 667 downloaded into an subdirectory called “geshi”. If you got a version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 668 you can go on installing as shown below.</p> 669 670 <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> 671 672 <p>Packages come in <code>.zip</code>, <code>.tar.gz</code> and <code>.tar.bz2</code> format, so there’s no complaining about whether it’s available for 673 you. *nix users probably want <code>.tar.gz</code> or <code>.tar.bz2</code> and windows users probably want <code>.zip</code>. 674 And those lucky to download it directly from SVN don’t even need to bother extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.</p> 675 676 <p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Linux (<code>.tar.gz</code>):</p> 677 678 <ol> 679 <li>Open a shell</li> 680 <li><code class="highlighted bash"><span class="kw3">cd</span></code> to the directory where the archive lies</li> 681 <li>Type <code class="highlighted bash"><span class="kw2">tar</span> <span class="re5">-xzvf</span> <span class="br0">[</span>filename<span class="br0">]</span></code> where <code>[filename]</code> is the name of the archive (typically <code>GeSHi-1.X.X.tar.gz</code>)</li> 682 <li><abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be extracted to its own directory</li> 683 </ol> 684 685 <p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Windows (<code>.zip</code>):</p> 686 687 <ol> 688 <li>Open Explorer</li> 689 <li>Navigate to the directory where the archive lies</li> 690 <li>Extract the archive. The method you use will depend on your configuration. Some people can right-click upon 691 the archive and select “Extract” from there, others may have to drag the archive and drop it upon an extraction program.</li> 692 </ol> 693 694 <p>To extract from <code>.zip</code> you’ll need an unzipping program - <code class="highlighted bash"><span class="kw2">unzip</span></code> in Linux, or 7-Zip, WinZip, WinRAR or similar for Windows.</p> 695 696 <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> 697 698 <p>Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is a snap, even for those most new to <abbr title="PHP: HTML Preprocessor">PHP</abbr>. There’s no tricks involved. Honest!</p> 699 700 <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 701 guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you 702 like in this include path. I recommend that you put the language files in a subdirectory of your include path too - 703 perhaps the same subdirectory that geshi.php is in. <strong>Remember this path</strong> for later.</p> 704 705 <p>If you don’t know what an include path is, don’t worry. Simply copy <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to your webserver. So for example, say your 706 site is at <code>http://mysite.com/myfolder</code>, you can copy <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to your site so the directory structure is like this:</p> 707 708 <pre><code>http://mysite.com/myfolder/geshi/[language files] 709 http://mysite.com/myfolder/geshi.php 710 </code></pre> 711 712 <p>Or you can put it in any subdirectory you like:</p> 713 714 <pre><code>http://mysite.com/myfolder/includes/geshi/[language files] 715 http://mysite.com/myfolder/includes/geshi.php 716 </code></pre> 717 718 <div class="caution"> 719 720 <div class="caution-header">Caution:</div> 721 722 <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 723 worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3). 724 I suggest you delete these directories from any live site they are on.</p> 725 726 </div> 727 728 <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> 729 730 <p>Use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is very easy. Here’s a simple example:</p> 731 732 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 733 <span class="xtra li2"><span class="de2">2</span></span>3 734 <span class="xtra li2"><span class="de2">4</span></span>5 735 <span class="xtra li2"><span class="de2">6</span></span>7 736 <span class="xtra li2"><span class="de2">8</span></span>9 737 <span class="xtra li2"><span class="de2">10</span></span>11 738 <span class="xtra li2"><span class="de2">12</span></span>13 739 <span class="xtra li2"><span class="de2">14</span></span>15 740 <span class="xtra li2"><span class="de2">16</span></span>17 741 <span class="xtra li2"><span class="de2">18</span></span>19 742 <span class="xtra li2"><span class="de2">20</span></span>21 743 <span class="xtra li2"><span class="de2">22</span></span>23 744 <span class="xtra li2"><span class="de2">24</span></span>25 745 <span class="xtra li2"><span class="de2">26</span></span>27 746 <span class="xtra li2"><span class="de2">28</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">//</span> 747 <span class="xtra li2"><span class="de2"><span class="co1">// Include the GeSHi library</span></span></span><span class="co1">//</span> 748 <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> 749 <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> 750 <span class="xtra li2"><span class="de2"><span class="co1">// and the path to the language files</span></span></span><span class="co1">//</span> 751 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'$foo = 45;</span> 752 <span class="xtra li2"><span class="de2"><span class="st_h">for ( $i = 1; $i < $foo; $i++ )</span></span></span><span class="st_h">{</span> 753 <span class="xtra li2"><span class="de2"><span class="st_h"> echo "$foo\n";</span></span></span><span class="st_h"> --$foo;</span> 754 <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> 755 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">//</span> 756 <span class="xtra li2"><span class="de2"><span class="co1">// Create a GeSHi object</span></span></span><span class="co1">//</span> 757 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">)</span><span class="sy0">;</span> 758 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">//</span> 759 <span class="xtra li2"><span class="de2"><span class="co1">// And echo the result!</span></span></span><span class="co1">//</span> 760 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 761 762 <p>As you can see, there’s only three really important lines:</p> 763 764 <p><code class="highlighted php"><span class="kw1">include_once</span><span class="br0">(</span><span class="st_h">'geshi.php'</span><span class="br0">)</span></code></p> 765 766 <p>This line includes the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> class for use</p> 767 768 <p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="br0">)</span><span class="sy0">;</span></code></p> 769 770 <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> 771 772 <p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></code></p> 773 774 <p>This line spits out the result :)</p> 775 776 <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> 777 778 <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 779 function <code class="highlighted php"><span class="kw3">highlight_string</span><span class="br0">(</span><span class="br0">)</span></code> behaves - all you do is pass it the language you want to use to highlight and the 780 path to the language files as well as the source. Here are some examples:</p> 781 782 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 783 <span class="xtra li2"><span class="de2">2</span></span>3 784 <span class="xtra li2"><span class="de2">4</span></span>5 785 <span class="xtra li2"><span class="de2">6</span></span>7 786 <span class="xtra li2"><span class="de2">8</span></span>9 787 <span class="xtra li2"><span class="de2">10</span></span>11 788 <span class="xtra li2"><span class="de2">12</span></span>13 789 <span class="xtra li2"><span class="de2">14</span></span>15 790 <span class="xtra li2"><span class="de2">16</span></span>17 791 <span class="xtra li2"><span class="de2">18</span></span>19 792 <span class="xtra li2"><span class="de2">20</span></span>21 793 </pre></td><td class="de1"><pre class="de1"><span class="co1">// Simply echo the highlighted code</span> 794 <span class="xtra li2"><span class="de2">geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span></span></span> 795 <span class="xtra li2"><span class="de2"><span class="co1">// Get the code back, for use later</span></span></span><span class="re0">$code</span> <span class="sy0">=</span> geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span> 796 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Check if there is an error with parsing this code</span> 797 <span class="xtra li2"><span class="de2"> </span></span><a href="http://www.php.net/ob_start"><span class="kw3">ob_start</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 798 <span class="xtra li2"><span class="de2"><span class="re0">$result</span> <span class="sy0">=</span> geshi_highlight<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'perl'</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$code</span> <span class="sy0">=</span> <a href="http://www.php.net/ob_get_contents"><span class="kw3">ob_get_contents</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 799 <span class="xtra li2"><span class="de2"> </span></span><a href="http://www.php.net/ob_end_clean"><span class="kw3">ob_end_clean</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 800 <span class="xtra li2"><span class="de2"><span class="kw1">if</span> <span class="br0">(</span> <span class="sy0">!</span><span class="re0">$result</span> <span class="br0">)</span></span></span><span class="br0">{</span> 801 <span class="xtra li2"><span class="de2"> <span class="co1">// There was an error with highlighting...</span></span></span><span class="br0">}</span> 802 <span class="xtra li2"><span class="de2"><span class="kw1">else</span></span></span><span class="br0">{</span> 803 <span class="xtra li2"><span class="de2"> <span class="co1">// All OK :)</span></span></span><span class="br0">}</span></pre></td></tr></tbody></table> 804 805 <p>However, these are really simple examples and doesn’t even begin to cover all the advanced features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. 806 If you want to learn more, continue on to section 3: Advanced Features.</p> 807 808 <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> 809 810 <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, 811 disabling highlighting of some things and more.</p> 812 813 <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 814 included, and a <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object has been created and is referenced by the variable <code class="highlighted php"><span class="re0">$geshi</span></code>. Normally, the 815 source, language and path used are arbitary.</p> 816 817 <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> 818 819 <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 820 Code Container? It’s the bit of markup that goes around your code to contain it. By default your code is surrounded 821 by a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>, but you can also specify a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>.</p> 822 823 <p>The <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> header is the default. If you’re familiar with <abbr title="Hypertext Markup Language">HTML</abbr> you’ll know that whitespace is rendered 824 “as is” by a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> element. The advantage for you is that if you use <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> the whitespace 825 you use will appear pretty much exactly how it is in the source, and what’s more <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won’t have to add a whole 826 lot of <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">br</span> <span class="sy0">/</span>></span></code>’s and non-breaking spaces (<code class="highlighted html4strict"><span class="sc1">&nbsp;</span></code>) to your code to indent it. This saves 827 you source code (and your valuable visitors waiting time and your bandwidth).</p> 828 829 <p>But if you don’t like <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> or it looks stupid in your browser no matter what styles you try to 830 apply to it or something similar, you might want to use a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> instead. A <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> will 831 result in more source - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will have to insert whitespace markup - but in return you can wrap long lines of code 832 that would otherwise have your browser’s horizontal scrollbar appear. Of course with <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> you can 833 <em>not</em> wrap lines if you please. The highlighter demo at the <a href="http://qbnz.com/highlighter"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> home page</a> uses the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> 834 approach for this reason.</p> 835 836 <p>At this stage there isn’t an option to wrap the code in <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> tags (unless you use the function 837 <code>geshi_highlight</code>), partly because of the inconsistent and unexpected ways stuff in <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> tags is 838 highlighted. Besides, <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">code</span>></span></code> is an inline element. But this may become an option in future versions.</p> 839 840 <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> 841 842 <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 843 source even if this wasn’t necessary, thus styles that are applied to the output of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can directly influence 844 the code only even if headers and footers are present.</p> 845 846 <p>To change/set the header to use, you call the <strong><code class="highlighted php">set_header_type<span class="br0">(</span><span class="br0">)</span></code></strong> method. It has one required argument which 847 defines the container type. Available are:</p> 848 849 <dl> 850 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_DIV<span class="br0">)</span><span class="sy0">;</span></code></dt> 851 <dd> 852 <p>Puts a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> around both, code and linenumbers. Whitespace is converted to <code class="highlighted html4strict"><span class="sc1">&nbsp;</span></code> 853 sequences (i.e. one whitespace and the html entity of a non-breaking whitespace) to keep your indendation level 854 in tact. Tabs are converted as well and you can manually <a href="#setting-tab-width">define the tab-width</a>. Lines are automatically wrapped. 855 Linenumbers are created using an ordered list.</p> 856 </dd> 857 858 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE<span class="br0">)</span><span class="sy0">;</span></code></dt> 859 <dd> 860 <p>Wraps code and linenumbers in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> container. This way whitespace is kept as-is and thus 861 this header produces less overhead then the <code>GESHI_HEADER_DIV</code> header type. Since linenumbers are still 862 created using an ordered list this header type produces <strong>invalid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p> 863 </dd> 864 865 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE_VALID<span class="br0">)</span><span class="sy0">;</span></code></dt> 866 <dd><em><small>Available since 1.0.8</small></em></dd> 867 868 <dd> 869 <p>When linenumbers are disabled, this behaves just like <code>GESHI_HEADER_PRE</code>. In the other case though, a 870 <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> is used to wrap the code and linenumbers and the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> is put inside the list 871 items (<code class="highlighted html4strict"><span class="sc2"><<span class="kw2">li</span>></span></code>). This means slightly larger <abbr title="Hypertext Markup Language">HTML</abbr> output compared to <code>GESHI_HEADER_PRE</code>, but the 872 output is <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p> 873 </dd> 874 875 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_PRE_TABLE<span class="br0">)</span><span class="sy0">;</span></code></dt> 876 <dd><em><small>Available since 1.0.8</small></em></dd> 877 878 <dd> 879 <p>Once again a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> tag wraps the output. This time though no ordered list is used to create an ordered list, 880 but instead we use a table with two cells in a single row. The left cell contains a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> tag which holds all 881 linenumbers. The second cell holds the highlighted code, also wrapped in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> tag, just like with 882 <code>GESHI_HEADER_PRE</code>.</p> 883 </dd> 884 885 <dd> 886 <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 887 browsers, see <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1651996&group_id=114997&atid=670231">SF#1651996</a> for more information.</p> 888 </dd> 889 890 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_type</span><span class="br0">(</span>GESHI_HEADER_NONE<span class="br0">)</span><span class="sy0">;</span></code></dt> 891 <dd><em><small>Available since 1.0.7.2</small></em></dd> 892 893 <dd> 894 <p>No wrapper is added.</p> 895 </dd> 896 </dl> 897 898 <p>Those are the only arguments you should pass to <code class="highlighted php">set_header_type</code>. Passing anything else may cause inconsistencies 899 in what is used as the Code Container (although it <em>should</em> simply use a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>). Better not to risk it.</p> 900 901 <div class="note"> 902 903 <div class="note-header">Note:</div> 904 905 <p>GESHI_HEADER_DIV, GESHI_HEADER_PRE, etc. are <em>constants</em>, so don’t put them in strings!</p> 906 907 </div> 908 909 <div class="caution"> 910 911 <div class="caution-header">Caution:</div> 912 913 <p>The default styles for the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> and <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> <em>will be different</em>, especially if you use 914 line numbers!</p> 915 916 <p>I have found that a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> results in code that is smaller than for that of a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, you 917 should rectify this difference by using <strong><code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code></strong> if you need to. But be aware of this 918 difference for if you are changing the header type!</p> 919 920 </div> 921 922 <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> 923 924 <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> 925 to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the 926 fancy line numbers feature.</p> 927 928 <p>There are multiple methods for highlighting line numbers, but none of them is perfect. Of the various ways to highlight 929 line numbers <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself implements 2 different approaches, but allows you 930 by the way it generates the code to do the line numbers yourself if necessary - but more on this case later.</p> 931 932 <p>The easiest approach is using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">ol</span>></span></code>-tag for generating the line numbers, but 933 even though this is the easiest one there’s a big drawback with this one when 934 using Gecko-engine based browsers like Firefox or Konqueror. In these browsers 935 this approach will select the line numbers along with the code or will include extra markup in the selection.</p> 936 937 <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. 938 When using this header type the line numbers are rendered apart from the source 939 in a table cell while the actual source is formatted as if the <code class="highlighted php">GESHI_HEADER_PRE</code> header had been used. 940 This approach works with Firefox and other Gecko-based browsers so far although extreme care 941 has to be taken when applying styles to your source as Windows has some fonts 942 where bold font is of different height than normal or italic text of the same fontface.</p> 943 944 <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> 945 946 <p>To highlight a source with line numbers, you call the <code class="highlighted php">enable_line_numbers<span class="br0">(</span><span class="br0">)</span></code> method:</p> 947 948 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_line_numbers</span><span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span><span class="sy0">;</span></code> 949 Where <code class="highlighted php"><span class="re0">$flag</span></code> is one of the following:</p> 950 951 <ul> 952 <li><code>GESHI_NORMAL_LINE_NUMBERS</code> - Use normal line numbering</li> 953 <li><code>GESHI_FANCY_LINE_NUMBERS</code> - Use fancy line numbering</li> 954 <li><code>GESHI_NO_LINE_NUMBERS</code> - Disable line numbers (default)</li> 955 </ul> 956 957 <p>Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers 958 means that you can specify a different style for each n<sup>th</sup> line number. You change the value of n (default 5):</p> 959 960 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_line_numbers</span><span class="br0">(</span>GESHI_FANCY_LINE_NUMBERS<span class="sy0">,</span> <span class="nu0">37</span><span class="br0">)</span><span class="sy0">;</span></code></p> 961 962 <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. 963 Setting it to <code>1</code> applies the fancy style to every line number.</p> 964 965 <div class="note"> 966 967 <div class="note-header">Note:</div> 968 969 <p>The values above are CONSTANTS - so don’t put them in strings!</p> 970 971 </div> 972 973 <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> 974 975 <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 976 styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For 977 example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line 978 numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the 979 whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is 980 quite a bit more <abbr title="Hypertext Markup Language">HTML</abbr> involved. So think carefully about these things before you enable line numbers.</p> 981 982 <p>Now, onto how to style line numbers:</p> 983 984 <p>Styles are set for line numbers using the <code class="highlighted php">set_line_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 985 986 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: #fcfcfc;'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 987 988 <p>If you’re using Fancy Line Numbers mode, you pass a second string for the style of the n<sup>th</sup> line number:</p> 989 990 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: #fcfcfc;'</span><span class="sy0">,</span> <span class="st_h">'background: #f0f0f0;'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 991 992 <p>The second style will have no effect if you’re not using Fancy Line Numbers mode.</p> 993 994 <p>By default, the styles you pass overwrite the current styles. Add a boolean “true” after the styles you specify to combine them with the current styles:</p> 995 996 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 997 <span class="xtra li2"><span class="de2">2</span></span>3 998 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: red;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span> 999 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// or, for fancy line numbers</span> 1000 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'background: red;'</span><span class="sy0">,</span> <span class="st_h">'background: blue;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1001 1002 <div class="note"> 1003 1004 <div class="note-header">Note:</div> 1005 1006 <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 1007 includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it’s 1008 used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is 1009 to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more 1010 have a look at the <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1651996&group_id=114997&atid=670231">SF.net BugTracker Issue #1651996</a>. This will hopefully be fixed in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version 1.2 1011 or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first!</p> 1012 1013 </div> 1014 1015 <div class="caution"> 1016 1017 <div class="caution-header">Caution:</div> 1018 1019 <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 1020 release. If you want your code to be styled in a predictable manner, you’ll have to call the <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> 1021 method to rectify this problem.</p> 1022 1023 <p>Note also that you cannot apply background colours to line numbers unless you use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code>. 1024 Here’s how you’d style:</p> 1025 1026 <ol> 1027 <li><p>Use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code> to style the overall code block. For example, you can set the border 1028 style/colour, any margins and padding etc. using this method. <strong>In addition:</strong> set the background colour for 1029 all the line numbers using this method.</p></li> 1030 <li><p>Use <code class="highlighted php">set_line_style<span class="br0">(</span><span class="br0">)</span></code> to style the foreground of the line numbers. For example, you can set the colour, 1031 weight, font, padding etc. of the line numbers using this method.</p></li> 1032 <li><p>Use <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> to explicitly override the styles you set for line numbers using 1033 <code class="highlighted php">set_line_style</code>. For example, if you’d set the line numbers to be bold (or even if you’d only set 1034 the fancy line number style to be bold), and you didn’t actually want your code to be bold, you’d make sure 1035 that <code class="highlighted css"><span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">normal</span><span class="sy0">;</span></code> was in the stylesheet rule you passed to <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code>.</p> 1036 1037 <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 1038 any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it.</p></li> 1039 </ol> 1040 1041 </div> 1042 1043 <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> 1044 1045 <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 1046 if you’re highlighting code from a file from around a certain line number in that file, as an additional guide to 1047 those who will view the code. You set the line numbers by calling the <code class="highlighted php">start_line_numbers_at<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1048 1049 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">start_line_numbers_at</span><span class="br0">(</span><span class="re0">$number</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1050 1051 <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> 1052 1053 <p>If you have not enabled line numbers, this will have no effect.</p> 1054 1055 <div class="caution"> 1056 1057 <div class="caution-header">Caution:</div> 1058 1059 <p>Although I’d like <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to have XHTML strict compliance, this feature will break compliancy (however transitional 1060 compliancy remains). This is because the only widely supported way to change the start value for line numbers is 1061 by using the <strong>start=”number”</strong> attribute of the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">ol</span>></span></code> tag. Although <abbr title="Cascading Style Sheets">CSS</abbr> does provide a mechanism for 1062 doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this).</p> 1063 1064 </div> 1065 1066 <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> 1067 1068 <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 1069 (the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping 1070 90% saving - which makes a *huge* difference to those unlucky of us on modems!</p> 1071 1072 <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> 1073 1074 <p>By default, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> doesn’t use the classes, so it’s easy just to whack out some highlighted code if you need without 1075 worrying about stylesheets. However, if you’re a bit more organised about it, you should use the classes ;). To turn 1076 the use of classes on, you call the <code class="highlighted php">enable_classes<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1077 1078 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1079 1080 <p>If you want to turn classes OFF for some reason later:</p> 1081 1082 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1083 1084 <p>If classes are enabled when <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code> is called, then the resultant source will use <abbr title="Cascading Style Sheets">CSS</abbr> classes in the 1085 output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will 1086 be very noticeable, and what’s more you can use one stylesheet for several different highlights on the same page. In 1087 fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets 1088 are cached by browsers).</p> 1089 1090 <div class="note"> 1091 1092 <div class="note-header">Note:</div> 1093 1094 <p>There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should 1095 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> 1096 1097 </div> 1098 1099 <div class="caution"> 1100 1101 <div class="caution-header">Caution:</div> 1102 1103 <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 1104 can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the 1105 code, but this may result in unexpected behaviour.</p> 1106 1107 </div> 1108 1109 <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> 1110 1111 <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 1112 stylesheet for many different snippets of code. You call <code class="highlighted php">set_overall_class<span class="br0">(</span><span class="br0">)</span></code> and <code class="highlighted php">set_overall_id</code> 1113 to accomplish this:</p> 1114 1115 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1116 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_overall_class</span><span class="br0">(</span><span class="st_h">'mycode'</span><span class="br0">)</span><span class="sy0">;</span> 1117 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_overall_id</span><span class="br0">(</span><span class="st_h">'dk48ck'</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1118 1119 <p>The default classname is the name of the language being used. This means you can use just the one stylesheet for all 1120 sources that use the same language, and incidentally means that you probably won’t have to call these methods too often.</p> 1121 1122 <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 1123 and then use that ID to highlight that code in a unique way. You’d do this for a block of code that you expressly 1124 wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example).</p> 1125 1126 <div class="note"> 1127 1128 <div class="note-header">Note:</div> 1129 1130 <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> 1131 1132 </div> 1133 1134 <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> 1135 1136 <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 1137 get a stylesheet for your code, with one easy method call:</p> 1138 1139 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1140 <span class="xtra li2"><span class="de2">2</span></span>3 1141 <span class="xtra li2"><span class="de2">4</span></span>5 1142 <span class="xtra li2"><span class="de2">6</span></span>7 1143 <span class="xtra li2"><span class="de2">8</span></span>9 1144 <span class="xtra li2"><span class="de2">10</span></span>11 1145 <span class="xtra li2"><span class="de2">12</span></span>13 1146 <span class="xtra li2"><span class="de2">14</span></span>15 1147 <span class="xtra li2"><span class="de2">16</span></span>17 1148 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1149 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Here we have code that will spit out a header for</span> 1150 <span class="xtra li2"><span class="de2"><span class="co1">// a stylesheet. For example:</span></span></span> 1151 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'<html></span></span></span><span class="st_h"><head><title>Code</title></span> 1152 <span class="xtra li2"><span class="de2"><span class="st_h"><style type="text/css"></span></span></span><span class="st_h"><!--'</span><span class="sy0">;</span> 1153 <span class="xtra li2"><span class="de2"><span class="co1">// Echo out the stylesheet for this code block</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1154 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// And continue echoing the page</span> 1155 <span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="st_h">'--></span> 1156 <span class="xtra li2"><span class="de2"><span class="st_h"></style></head></span></span></span><span class="st_h"><body>'</span><span class="sy0">;</span></pre></td></tr></tbody></table> 1157 1158 <p>The <code class="highlighted php">get_stylesheet<span class="br0">(</span><span class="br0">)</span></code> method gets the stylesheet for your code in one easy call. All you need to do 1159 is output it in the correct place. As you can also see, you don’t even have to enable class usage to get the 1160 stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later.</p> 1161 1162 <p>By default, <code class="highlighted php">get_stylesheet<span class="br0">(</span><span class="br0">)</span></code> tries to echo the least amount of code possible. Although currently it doesn’t 1163 check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the 1164 present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related 1165 <abbr title="Cascading Style Sheets">CSS</abbr> will not be outputted. This may be a bad thing for you perhaps you’re going to use the stylesheet for many blocks 1166 of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you’re 1167 building an external stylesheet and want all lexics included. So to get around this problem, you do this:</p> 1168 1169 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1170 1171 <p>This turns economy mode off, and all of the stylesheet will be outputted regardless.</p> 1172 1173 <p>Now lets say you have several snippets of code, using the same language. In most of them you don’t mind if they’re 1174 highlighted the same way (in fact, that’s exactly what you want) but in one of them you’d like the source to be 1175 highlighted differently. Here’s how you can do that:</p> 1176 1177 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1178 <span class="xtra li2"><span class="de2">2</span></span>3 1179 <span class="xtra li2"><span class="de2">4</span></span>5 1180 <span class="xtra li2"><span class="de2">6</span></span>7 1181 <span class="xtra li2"><span class="de2">8</span></span>9 1182 <span class="xtra li2"><span class="de2">10</span></span>11 1183 <span class="xtra li2"><span class="de2">12</span></span>13 1184 <span class="xtra li2"><span class="de2">14</span></span>15 1185 <span class="xtra li2"><span class="de2">16</span></span>17 1186 <span class="xtra li2"><span class="de2">18</span></span>19 1187 <span class="xtra li2"><span class="de2">20</span></span>21 1188 <span class="xtra li2"><span class="de2">22</span></span>23 1189 <span class="xtra li2"><span class="de2">24</span></span>25 1190 <span class="xtra li2"><span class="de2">26</span></span>27 1191 <span class="xtra li2"><span class="de2">28</span></span>29 1192 <span class="xtra li2"><span class="de2">30</span></span>31 1193 <span class="xtra li2"><span class="de2">32</span></span>33 1194 <span class="xtra li2"><span class="de2">34</span></span>35 1195 <span class="xtra li2"><span class="de2">36</span></span>37 1196 <span class="xtra li2"><span class="de2">38</span></span>39 1197 <span class="xtra li2"><span class="de2">40</span></span>41 1198 <span class="xtra li2"><span class="de2">42</span></span>43 1199 <span class="xtra li2"><span class="de2">44</span></span>45 1200 <span class="xtra li2"><span class="de2">46</span></span>47 1201 <span class="xtra li2"><span class="de2">48</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">// assume path is the default "geshi/" relative to the current directory</span> 1202 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi1</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span> 1203 <span class="xtra li2"><span class="de2"><span class="re0">$geshi2</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source2</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1204 <span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source3</span><span class="sy0">,</span> <span class="re0">$lang</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1205 <span class="xtra li2"><span class="de2"><span class="co1">// Turn classes on for all sources</span></span></span><span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1206 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi2</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1207 <span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1208 <span class="xtra li2"><span class="de2"><span class="co1">// Make $geshi3 unique</span></span></span><span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">set_overall_id</span><span class="br0">(</span><span class="st_h">'different'</span><span class="br0">)</span><span class="sy0">;</span> 1209 <span class="xtra li2"><span class="de2"> </span></span> 1210 <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> 1211 <span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span> 1212 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'<html></span></span></span><span class="st_h"><head><title>Code</title></span> 1213 <span class="xtra li2"><span class="de2"> </span></span><span class="st_h"><style type="text/css"></span> 1214 <span class="xtra li2"><span class="de2"><span class="st_h"><!--</span></span></span><span class="st_h">'</span><span class="sy0">;</span> 1215 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Get the nessecary stylesheets</span> 1216 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1217 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1218 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'--></span></span></span><span class="st_h"></style></head></span> 1219 <span class="xtra li2"><span class="de2"><span class="st_h"><body>'</span><span class="sy0">;</span></span></span> 1220 <span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="st_h">'Code snippet 1:'</span><span class="sy0">;</span> 1221 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="kw1">echo</span> <span class="st_h">'Code snippet 2 (same highlighting as 1):'</span><span class="sy0">;</span> 1222 <span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="re0">$geshi2</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1223 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'Code snippet 3 (DIFFERENT highlighting):'</span><span class="sy0">;</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1224 <span class="xtra li2"><span class="de2"> </span></span> 1225 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'</body></html>'</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1226 1227 <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 1228 limitation has been removed in version 1.0.2 - if you set the ID of a block of code, all styling will be done based 1229 on that ID alone.</p> 1230 1231 <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> 1232 1233 <p>An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some 1234 drawbacks with this. To use an external stylesheet, it’s up to you to link it in to your document, normally with 1235 the following <abbr title="Hypertext Markup Language">HTML</abbr>:</p> 1236 1237 <table class="html4strict geshicode"><thead><tr><td colspan="2" class="head">HTML code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1238 <span class="xtra li2"><span class="de2">2</span></span>3 1239 </pre></td><td class="de1"><pre class="de1"><span class="sc2"><<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></span> 1240 <span class="xtra li2"><span class="de2"><span class="sc2"><<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>></span></span></span><span class="sc2"><<a href="http://december.com/html/4/element/link.html"><span class="kw2">link</span></a> <span class="kw3">rel</span><span class="sy0">=</span><span class="st0">"stylesheet"</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">"text/css"</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">"url_to_stylesheet.css"</span> <span class="sy0">/</span>></span></pre></td></tr></tbody></table> 1241 1242 <p>In your external stylesheet you put <abbr title="Cascading Style Sheets">CSS</abbr> declarations for your code. Then just make sure you’re using the correct class (use 1243 <code class="highlighted php">set_overall_class<span class="br0">(</span><span class="br0">)</span></code> to ensure this) and this should work fine.</p> 1244 1245 <p>This method is great if you don’t mind the source always being highlighted the same (in particular, if you’re making a 1246 plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and 1247 your bandwidth, and it’s relatively easy to just change the stylesheet should you need to. However, using this will render 1248 the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically 1249 generated. You can still disable highlighting of certain lexics dynamically, however.</p> 1250 1251 <div class="note"> 1252 1253 <div class="note-header">Note:</div> 1254 1255 <p>As of version 1.0.2, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> comes with a <code>contrib/</code> directory, which in it contains a “wizard” script for creating 1256 a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the 1257 basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any 1258 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 1259 should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this 1260 script in version 1.2!</p> 1261 1262 </div> 1263 1264 <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> 1265 1266 <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 1267 to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and 1268 can even say whether something is to be highlighted at all.</p> 1269 1270 <p>If you’re confused about “styles”, you probably want to have a quick tutorial in them so you know what you can do with 1271 them. Checkout the homepage of <abbr title="Cascading Style Sheets">CSS</abbr> at <a href="http://www.w3.org/Style/CSS">http://www.w3.org/Style/CSS</a>.</p> 1272 1273 <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> 1274 1275 <p>The code outputted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is either in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> or a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> (see the section entitled “The 1276 Code Container”), and this can be styled.</p> 1277 1278 <p><code>$geshi->set_overall_style('... styles ...');</code> 1279 Where styles is a string containing valid <abbr title="Cascading Style Sheets">CSS</abbr> declarations. By default, these styles overwrite the current styles, but you can change this by adding a second parameter:</p> 1280 1281 <p><code>$geshi->set_overall_style('color: blue;', true);</code> 1282 The default styles “shine through” wherever anything isn’t highlighted. Also, you can apply more advanced styles, like position: (fixed|relative) etc, because a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>/<code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> is a block level element.</p> 1283 1284 <div class="note"> 1285 1286 <div class="note-header">Note:</div> 1287 1288 <p>Remember that a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> will by default have a larger font size than a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code>, as discussed in the section <a href="#the-code-container">“The Code Container”</a>.</p> 1289 1290 </div> 1291 1292 <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> 1293 1294 <p>You may wish to refer to the section [Styling Line Numbers][1] before reading this section.</p> 1295 1296 <p>As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is 1297 different. In particular, now you cannot set the background style of the fancy line numbers to be different from that 1298 of the normal line numbers.</p> 1299 1300 <p>Line number styles are set by using the method <code class="highlighted php">set_line_style</code>:</p> 1301 1302 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="re0">$style1</span><span class="sy0">,</span> <span class="re0">$style2</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1303 1304 <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> 1305 1306 <div class="caution"> 1307 1308 <div class="caution-header">Caution:</div> 1309 1310 <p>Things have changed since 1.0.1! This note is <strong>very</strong> important - please make sure you check this twice before 1311 complaining about line numbers!</p> 1312 1313 <p>Because of the way that ordered lists are done in <abbr title="Hypertext Markup Language">HTML</abbr>, there really isn’t normally a way to style the actual 1314 <em>numbers</em> in the list. I’ve cheated somewhat with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - I’ve made it possible to use <abbr title="Cascading Style Sheets">CSS</abbr> to style the <em>foreground</em> of 1315 the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to 1316 have a pretty background, you <strong>must</strong> use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code> to do this, and use <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> 1317 to style the actual code! This is explained in the section above: <a href="#styling-line-numbers">Styling Line Numbers</a>.</p> 1318 1319 <p>In addition, the styles for fancy line numbers <em>is now the difference between the normal styles and the styles you want 1320 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> 1321 1322 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'color: red; font-weight: bold;'</span><span class="sy0">,</span> <span class="st_h">'color: green; font-weight: bold'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1323 1324 <p>Now you instead can do this:</p> 1325 1326 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_line_style</span><span class="br0">(</span><span class="st_h">'color: red; font-weight: bold;'</span><span class="sy0">,</span> <span class="st_h">'color: green;'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1327 1328 <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 1329 saving in code - but the difference may be confusing for anyone using 1.0.1 at first.</p> 1330 1331 </div> 1332 1333 <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> 1334 1335 <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 1336 a particular set, you’ll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1 1337 contains keywords like <code>if</code>, <code>while</code>, <code>do</code>, <code>for</code>, <code>switch</code> etc, set 2 contains <code>null</code>, <code>false</code>, <code>true</code> etc, set 3 1338 contains function inbuilt into the language (<code>echo</code>, <code>htmlspecialchars</code> etc. in <abbr title="PHP: HTML Preprocessor">PHP</abbr>) and set 4 contains data types and 1339 similar variable modifiers: <code>int</code>, <code>double</code>, <code>real</code>, <code>static</code> etc. However these things are not fixed, and you should 1340 check the language file to see what key you want. Having a familiarity with a language file is definately a plus for 1341 using it.</p> 1342 1343 <p>To change the styles for a keyword set, call the <code class="highlighted php">set_keyword_group_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1344 1345 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_keyword_group_style</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1346 1347 <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 1348 to apply to that group.</p> 1349 1350 <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 1351 combine them with the current styles:</p> 1352 1353 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_keyword_group_style</span><span class="br0">(</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st_h">'color: white;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1354 1355 <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> 1356 1357 <p>To change the styles for a comment group, call the <code class="highlighted php">set_comments_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1358 1359 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1360 1361 <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 1362 specify multiline comments:</p> 1363 1364 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1365 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'font-style: italic;'</span><span class="br0">)</span><span class="sy0">;</span> 1366 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="st_h">'MULTI'</span><span class="sy0">,</span> <span class="st_h">'display: hidden;'</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1367 1368 <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 1369 combine them with the current styles:</p> 1370 1371 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_comments_style</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'font-weight: 100;'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1372 1373 <div class="note"> 1374 1375 <div class="note-header">Note:</div> 1376 1377 <p>In 1.0.7.22 a new kind of Comments called “COMMENT_REGEXP” has been added. Those are handled by setting single 1378 line comment styles.</p> 1379 1380 </div> 1381 1382 <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> 1383 1384 <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 1385 and Brackets among other things can all also be highlighted. Here are the related methods:</p> 1386 1387 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1388 <span class="xtra li2"><span class="de2">2</span></span>3 1389 <span class="xtra li2"><span class="de2">4</span></span>5 1390 <span class="xtra li2"><span class="de2">6</span></span>7 1391 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_escape_characters_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span> 1392 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_symbols_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1393 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_strings_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_numbers_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span> 1394 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_methods_style</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_regexps_style</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table> 1395 1396 <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 1397 to <code class="highlighted php"><span class="kw4">true</span></code> if you want your styles to be merged with the previous styles. In the case of <code class="highlighted php">set_methods_style<span class="br0">(</span><span class="br0">)</span></code>, 1398 you should select a group to set the styles of, check the language files for the number used for each “object splitter”.</p> 1399 1400 <p>Like this was possible for <code class="highlighted php">set_method_style</code> a new parameter has been introduced for 1401 <code class="highlighted php">set_symbols_style</code> too which allows you to select the group of symbols for which you’d like to change your 1402 style. <code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_symbols_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$preserve_defaults</span><span class="br0">[</span><span class="sy0">,</span> <span class="re0">$group</span><span class="br0">]</span><span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span></code> If the third parameter is not 1403 given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket 1404 style, i.e. a pass-through call to <code class="highlighted php">set_bracket_style</code> is made.</p> 1405 1406 <div class="note"> 1407 1408 <div class="note-header">Note:</div> 1409 1410 <p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 multiple styles for strings and numbers are supported, though the API doesn’t provide full access yet.</p> 1411 1412 </div> 1413 1414 <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> 1415 1416 <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 1417 case, and also control whether keywords are checked in a case sensitive manner.</p> 1418 1419 <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> 1420 1421 <p>Auto-Caps/NoCaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are 1422 styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it’s capatalisation, and SQL is another 1423 language well known for using caps for readability.</p> 1424 1425 <p>To change what case lexics are rendered in, you call the <code class="highlighted php">set_case_keywords<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1426 1427 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span><span class="re0">$caps_modifier</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1428 1429 <p>The valid values to pass to this method are:</p> 1430 1431 <ul> 1432 <li><code>GESHI_CAPS_NO_CHANGE</code> - Don’t change the case of any lexics, leave as they are found</li> 1433 <li><code>GESHI_CAPS_UPPER</code> - Uppercase all lexics found</li> 1434 <li><code>GESHI_CAPS_LOWER</code> - Lowercase all lexics found</li> 1435 </ul> 1436 1437 <div class="caution"> 1438 1439 <div class="caution-header">Caution:</div> 1440 1441 <p>When I say “lexic”, I mean “keywords”. <strong>Any</strong> keyword in <strong>any</strong> keyword array will be modified using this option! 1442 This is one small area of inflexibility I hope to fix in 1.2.X.</p> 1443 1444 </div> 1445 1446 <p>I suspect this will only be used to specify <code>GESHI_CAPS_NO_CHANGE</code> to turn off autocaps for languages like SQL 1447 and BASIC variants, like so:</p> 1448 1449 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1450 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'sql'</span><span class="br0">)</span><span class="sy0">;</span> 1451 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span>GESHI_CAPS_NO_CHANGE<span class="br0">)</span><span class="sy0">;</span> <span class="co1">// don't want keywords capatalised</span></span></span></pre></td></tr></tbody></table> 1452 1453 <p>All the same, it can be used for some interesting effects:</p> 1454 1455 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1456 <span class="xtra li2"><span class="de2">2</span></span>3 1457 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">)</span><span class="sy0">;</span> 1458 <span class="xtra li2"><span class="de2"><span class="co1">// Anyone who's used java knows how picky it is about CapitalLetters...</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span>GESHI_CAPS_LOWER<span class="br0">)</span><span class="sy0">;</span> 1459 <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> 1460 1461 <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> 1462 1463 <p>Some languages, like <abbr title="PHP: HTML Preprocessor">PHP</abbr>, don’t mind what case function names and keywords are in, while others, like Java, depend on 1464 such pickiness to maintain their bad reputations ;). In any event, you can use the <code class="highlighted php">set_case_sensitivity<span class="br0">(</span><span class="br0">)</span></code> 1465 to change the case sensitiveness of a particular keyword group from the default:</p> 1466 1467 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_sensitivity</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$sensitivity</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1468 1469 <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 1470 for that language), and <code class="highlighted php"><span class="re0">$sensitivity</span></code> is a boolean value - <code class="highlighted php"><span class="kw4">true</span></code> if the keyword is case sensitive, and 1471 <code class="highlighted php"><span class="kw4">false</span></code> if not.</p> 1472 1473 <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> 1474 1475 <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 1476 any of those basic fields after you’ve created a <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object? Well, that’s where these methods come in.</p> 1477 1478 <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> 1479 1480 <p>To change the source code, you call the <code class="highlighted php">set_source<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1481 1482 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$newsource</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1483 1484 <p>Example:</p> 1485 1486 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1487 <span class="xtra li2"><span class="de2">2</span></span>3 1488 <span class="xtra li2"><span class="de2">4</span></span>5 1489 <span class="xtra li2"><span class="de2">6</span></span>7 1490 <span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span> 1491 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Method calls to specify various options...</span> 1492 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code1</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1493 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$source2</span><span class="br0">)</span><span class="sy0">;</span> 1494 <span class="xtra li2"><span class="de2"><span class="re0">$code2</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1495 1496 <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> 1497 1498 <p>What happens if you want to change the language used for highlighting? Just call <code class="highlighted php">set_language<span class="br0">(</span><span class="br0">)</span></code>:</p> 1499 1500 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'newlanguage'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1501 1502 <p>Example:</p> 1503 1504 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1505 <span class="xtra li2"><span class="de2">2</span></span>3 1506 <span class="xtra li2"><span class="de2">4</span></span>5 1507 <span class="xtra li2"><span class="de2">6</span></span>7 1508 <span class="xtra li2"><span class="de2">8</span></span>9 1509 <span class="xtra li2"><span class="de2">10</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span> 1510 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1511 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Highlight GeSHi's output</span> 1512 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_source</span><span class="br0">(</span><span class="re0">$code</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1513 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'html4strict'</span><span class="br0">)</span><span class="sy0">;</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span> 1514 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1515 1516 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.5, you can use the method <code class="highlighted php">load_from_file<span class="br0">(</span><span class="br0">)</span></code> to load the source code and language from a file. 1517 Simply pass this method a file name and it will attempt to load the source and set the language.</p> 1518 1519 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">load_from_file</span><span class="br0">(</span><span class="re0">$file_name</span><span class="sy0">,</span> <span class="re0">$lookup</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1520 1521 <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 1522 array to use for deciding which language to choose. You can use this to override <abbr title="Generic Syntax Highlighter">GeSHi</abbr>’s default lookup array, which 1523 may not contain the extension of the file you’re after, or perhaps does have your extension but under a different 1524 language. The lookup array is of the form:</p> 1525 1526 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1527 <span class="xtra li2"><span class="de2">2</span></span>3 1528 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 1529 <span class="xtra li2"><span class="de2"> <span class="st_h">'lang_name'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'extension'</span><span class="sy0">,</span> <span class="st_h">'extension'</span><span class="sy0">,</span> <span class="sy0">...</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'lang_name'</span> <span class="sy0">...</span> 1530 <span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1531 1532 <p>Also, you can use the method <code class="highlighted php">get_language_name_from_extension<span class="br0">(</span><span class="br0">)</span></code> if you need to convert a file extension 1533 to a valid language name. This method will return the empty string if it could not find a match in the lookup, and 1534 like <code class="highlighted php">load_from_file</code> it accepts an optional second parameter that contains a lookup array.</p> 1535 1536 <div class="note"> 1537 1538 <div class="note-header">Note:</div> 1539 1540 <p>Names are case-insensitive - they will be converted to lower case to match a language file however. So if you’re 1541 making a language file, remember it should have a name in lower case.</p> 1542 1543 </div> 1544 1545 <div class="note"> 1546 1547 <div class="note-header">Note:</div> 1548 1549 <p>What you pass to this method is the name of a language file, minus the .php extension. If you’re writing a plugin 1550 for a particular application, it’s up to you to somehow convert user input into a valid language name.</p> 1551 1552 </div> 1553 1554 <div class="note"> 1555 1556 <div class="note-header">Note:</div> 1557 1558 <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 1559 to highlight code in the same language with different settings add the optional 1560 <code class="highlighted php"><span class="re0">$force_reset</span> parameter</code>:</p> 1561 1562 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language</span><span class="br0">(</span><span class="st_h">'language'</span><span class="sy0">,</span> <span class="kw4">true</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1563 1564 </div> 1565 1566 <div class="caution"> 1567 1568 <div class="caution-header">Caution:</div> 1569 1570 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> <code class="highlighted php"><span class="kw1">include</span><span class="br0">(</span><span class="br0">)</span></code>s the language file, so be careful to make sure that users can’t pass some wierd 1571 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 1572 you should always do this your self anyway. In particular, language files are always lower-case, with either 1573 alphanumeric characters, dashes or underscores in their name.</p> 1574 1575 <p>At the very least, strip “/” characters out of a language name.</p> 1576 1577 </div> 1578 1579 <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> 1580 1581 <p>What happens if all of a sudden you want to use language files from a different directory from the current 1582 language file location? You call the <code class="highlighted php">set_language_path<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1583 1584 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_language_path</span><span class="br0">(</span><span class="re0">$newpath</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1585 1586 <p>It doesn’t matter whether the path has a trailing slash after it or not - only that it points to a valid folder. 1587 If it doesn’t, that’s your tough luck ;)</p> 1588 1589 <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> 1590 1591 <div class="note"> 1592 1593 <div class="note-header">Note:</div> 1594 1595 <p>Although <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself does not require to know the exact charset of your source you 1596 will need to set this option when processing sources where multi-byte characters can occur. 1597 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 1598 due to a security flaw in that function that is unpatched in even the most recent PHP4 versions and in PHP5 < 5.2. 1599 Although this does no longer explicitely require the charset it is required again 1600 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> 1601 1602 </div> 1603 1604 <div class="note"> 1605 1606 <div class="note-header">Note:</div> 1607 1608 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the default charset has been changed to UTF-8.</p> 1609 1610 </div> 1611 1612 <p>As of version 1.0.3, you can use the method <code class="highlighted php">set_encoding<span class="br0">(</span><span class="br0">)</span></code> to specify the character set that your source 1613 is in. Valid names are those names that are valid for the <abbr title="PHP: HTML Preprocessor">PHP</abbr> mbstring library:</p> 1614 1615 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_encoding</span><span class="br0">(</span><span class="re0">$encoding</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1616 1617 <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 1618 specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.</p> 1619 1620 <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> 1621 1622 <p>What happens if you try to highlight using a language that doesn’t exist? Or if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can’t read a required file? 1623 The results you get may be confusing. You may check your code over and over, and never find anything wrong. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1624 provides ways of finding out if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself found anything wrong with what you tried to do. After highlighting, 1625 you can call the <code class="highlighted php">error<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1626 1627 <p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="st_h">'hi'</span><span class="sy0">,</span> <span class="st_h">'thisLangIsNotSupported'</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1628 1629 <p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">error</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// echoes error message</span></code></p> 1630 1631 <p>The error message you will get will look like this:</p> 1632 1633 <blockquote> 1634 <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> 1635 </blockquote> 1636 1637 <p>The error outputted will be the last error <abbr title="Generic Syntax Highlighter">GeSHi</abbr> came across, just like how <code class="highlighted php"><span class="kw3">mysql_error</span><span class="br0">(</span><span class="br0">)</span></code> works.</p> 1638 1639 <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> 1640 1641 <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 1642 every option turned on. Although future releases will concentrate on the speed/resource side of highlighting, 1643 you can gain speed by disabling some of the highlighting options. This is done by using a 1644 series of <code class="highlighted php">set_<span class="sy0">*</span>_highlighting</code> methods:</p> 1645 1646 <dl> 1647 <dt><code class="highlighted php">set_keyword_group_highlighting<span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt> 1648 <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 1649 language file(s) to see what <code class="highlighted php"><span class="re0">$group</span></code> should be for each group (typically a positive integer). 1650 <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 1651 to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a 1652 related URL one will not be generated for that keyword.</dd> 1653 1654 <dt><code class="highlighted php">set_comments_highlighting<span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt> 1655 <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 1656 language file(s) to see what <code class="highlighted php"><span class="re0">$group</span></code> should be for each group (typically a positive integer, or th 1657 string <code class="highlighted php"><span class="st_h">'MULTI'</span></code> for multiline comments. <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable 1658 highlighting of this group, and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd> 1659 1660 <dt><code class="highlighted php">set_regexps_highlighting<span class="br0">(</span><span class="re0">$regexp</span><span class="sy0">,</span> <span class="re0">$flag</span><span class="br0">)</span><span class="sy0">:</span></code></dt> 1661 <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) 1662 to see what <code class="highlighted php"><span class="re0">$regexp</span></code> should be for each regexp (typically a positive integer, or the string <code class="highlighted php"><span class="st_h">'MULTI'</span></code> 1663 for multiline comments. <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable highlighting of this group, 1664 and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd> 1665 </dl> 1666 1667 <p>The following methods:</p> 1668 1669 <ul> 1670 <li><code class="highlighted php">set_escape_characters_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1671 <li><code class="highlighted php">set_symbols_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1672 <li><code class="highlighted php">set_strings_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1673 <li><code class="highlighted php">set_numbers_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1674 <li><code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1675 </ul> 1676 1677 <p>Work on their respective lexics (e.g. <code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="br0">)</span></code> will disable/enable highlighting of methods). 1678 For each method, if <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> then the related lexics will not be highlighted at all (this 1679 means no <abbr title="Hypertext Markup Language">HTML</abbr> will surround the lexic like usual, saving on time and bandwidth.</p> 1680 1681 <p>In case all highlighting should be disabled or reenabled <abbr title="Generic Syntax Highlighter">GeSHi</abbr> provides two methods called <code class="highlighted php">disable_highlighting<span class="br0">(</span><span class="br0">)</span></code> 1682 and <code class="highlighted php">enable_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code>. The optional paramter <code class="highlighted php"><span class="re0">$flag</span></code> has been added in 1.0.7.21 and specifies 1683 the desired state, i.e. <code class="highlighted php"><span class="kw4">true</span></code> (default) to turn all highlighting on, or <code class="highlighted php"><span class="kw4">false</span></code> to turn all 1684 highlighting off. Since 1.0.7.21 the method <code class="highlighted php">disnable_highlighting<span class="br0">(</span><span class="br0">)</span></code> has become deprecated.</p> 1685 1686 <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> 1687 1688 <p>If you’re using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">pre</span>></span></code> header, tabs are handled automatically by your browser, and in general you can 1689 count on good results. However, if you’re using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> header, you may want to specify a tab 1690 width explicitly.</p> 1691 1692 <p>Note that tabs created in this fashion won’t be like normal tabs - there won’t be “tab-stops” as such, instead 1693 tabs will be replaced with the specified number of spaces - just like most editors do.</p> 1694 1695 <p>To change the tab width, you call the <code class="highlighted php">set_tab_width<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1696 1697 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_tab_width</span><span class="br0">(</span><span class="re0">$width</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1698 1699 <p>Where <code class="highlighted php"><span class="re0">$width</span></code> is the width in spaces that you’d like tabs to be.</p> 1700 1701 <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> 1702 1703 <p>Some languages like to get tricky, and jump in and out of the file that they’re in. For example, the vast 1704 majority of you reading this will have used a <abbr title="PHP: HTML Preprocessor">PHP</abbr> file. And you know that <abbr title="PHP: HTML Preprocessor">PHP</abbr> code is only executed if it’s 1705 within delimiters like <code class="highlighted php"><span class="kw2"><?php</span></code> and <code class="highlighted php"><span class="sy1">?></span></code> (there are others of course…). So what happens if you do the 1706 following in a php file?</p> 1707 1708 <p><code class="highlighted php"><img src="<span class="kw2"><?php</span> <span class="kw1">echo</span> <span class="kw3">rand</span><span class="br0">(</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">100</span><span class="br0">)</span> <span class="sy1">?></span>" /></code></p> 1709 1710 <p>When using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> without strict mode, or using a bad highlighter, you’ll end up with scrambled crap, 1711 especially if you’re being slack about where you’re putting your quotes, you could end up with the rest 1712 of your file as bright blue. Fortunately, you can tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to be “strict” about just when it highlights 1713 and when it does not, using the <code class="highlighted php">enable_strict_mode<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1714 1715 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_strict_mode</span><span class="br0">(</span><span class="re0">$mode</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1716 1717 <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 1718 strict mode if you’ve already turned it and don’t want it now.</p> 1719 1720 <div class="note"> 1721 1722 <div class="note-header">Note:</div> 1723 1724 <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 1725 which is somewhat more intelligent than in previous releases. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now also 1726 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>. 1727 Basically <code class="highlighted php">GESHI_ALWAYS</code> (<code class="highlighted php"><span class="kw4">true</span></code>) always enables strict mode, 1728 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 1729 <code class="highlighted php">GESHI_MAYBE</code> which enables strict mode if it finds any sequences of code 1730 that look like strict block delimiters.</p> 1731 1732 <p>By the way: That’s why this section had to be changed, as the new documentation 1733 tool we now use, applies this feature and thus auto-detects when strict mode has to be used…</p> 1734 1735 </div> 1736 1737 <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> 1738 1739 <p>Lets say that you’re working on a large project, with many files, many classes and many functions. Perhaps also you 1740 have the source code on the web and highlighted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, perhaps as a front end to CVS, as a learning tool, something 1741 to refer to, whatever. Well, why not highlight the names of the functions and classes <em>your</em> project uses, as well 1742 as the standard functions and classes? Or perhaps you’re not interested in highlighting certain functions, and would 1743 like to remove them? Or maybe you don’t mind if an entire function group goes west in the interest of speed? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1744 can handle all of this!</p> 1745 1746 <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> 1747 1748 <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> 1749 1750 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1751 1752 <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 1753 the word to add.</p> 1754 1755 <p>This implies knowledge of the language file to know the correct index.</p> 1756 1757 <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> 1758 1759 <p>Perhaps you want to remove a keyword from an existing group. Maybe you don’t use it and want to save yourself some time. Whatever the reason, you can remove it using the <code class="highlighted php">remove_keyword</code> method:</p> 1760 1761 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">remove_keyword</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$word</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1762 1763 <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 1764 <code class="highlighted php"><span class="re0">$word</span></code> is the word to remove.</p> 1765 1766 <p>This implies knowledge of the language file to know the correct index - most of the time the keywords you’ll 1767 want to remove will be in group 3, but this is not guaranteed and you should check the language file first.</p> 1768 1769 <p>This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;)</p> 1770 1771 <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> 1772 1773 <p>Lets say for your big project you have several main functions and classes that you’d like highlighted. Why not 1774 add them as their own group instead of having them highlighted the same way as other keywords? Then you can make 1775 them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore, 1776 you could set the URL for this group to point at the API documentation of your project.</p> 1777 1778 <p>You add a keyword group by using the <code class="highlighted php">add_keyword_group</code> method:</p> 1779 1780 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword_group</span><span class="br0">(</span><span class="re0">$key</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="sy0">,</span> <span class="re0">$case_sensitive</span><span class="sy0">,</span> <span class="re0">$words</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1781 1782 <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 1783 you want to use to style this group, <code class="highlighted php"><span class="re0">$case_sensitive</span></code> is <strong>true</strong> or <strong>false</strong> depending on whether you want 1784 this group of keywords to be case sensitive or not and <code class="highlighted php"><span class="re0">$words</span></code> is an array of words (or a string) of which 1785 words to add to this group. For example:</p> 1786 1787 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">add_keyword_group</span><span class="br0">(</span><span class="nu0">10</span><span class="sy0">,</span> <span class="st_h">'color: #600000;'</span><span class="sy0">,</span> <span class="kw4">false</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">(</span><span class="st_h">'myfunc_1'</span><span class="sy0">,</span> <span class="st_h">'myfunc_2'</span><span class="sy0">,</span> <span class="st_h">'myfunc_3'</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1788 1789 <p>Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword 1790 can be in any case and which contains the keywords “myfunc_1”, “myfunc_2” and “myfunc_3”.</p> 1791 1792 <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> 1793 1794 <div class="caution"> 1795 1796 <div class="caution-header">Caution:</div> 1797 1798 <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 1799 overwritten! Most language files don’t use numbers larger than 5, so I recommend you play it safe and use a number 1800 like 10 or 42.</p> 1801 1802 </div> 1803 1804 <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> 1805 1806 <p>Perhaps you <em>really</em> need speed? Why not just remove an entire keyword group? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won’t have to loop through 1807 each keyword checking for its existance, saving much time. You remove a keyword group by using the 1808 <code class="highlighted php">remove_keyword_group</code> method:</p> 1809 1810 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">remove_keyword_group</span><span class="br0">(</span><span class="re0">$key</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1811 1812 <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> 1813 1814 <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> 1815 1816 <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 1817 and footers for your code, style them, and insert information from the highlighted source into your header or footer.</p> 1818 1819 <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> 1820 1821 <p>In your header and footer, you can put special keywords that will be replaced with actual configuration values for 1822 this <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object. The keywords you can use are:</p> 1823 1824 <ul> 1825 <li><strong><code><TIME></code></strong> or <strong><code>{TIME}</code></strong>: Is replaced by the time it took for the <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code> method - i.e., 1826 how long it took for your code to be highlighted. The time is returned to three decimal places.</li> 1827 <li><strong><code><LANGUAGE></code></strong> or <strong><code>{LANGUAGE}</code></strong>: Is replaced by a nice, friendly version of the language name used to 1828 highlight this code.</li> 1829 <li><strong><code><SPEED></code></strong> or <strong><code>{SPEED}</code></strong>: Is replaced by the speed at which your source has been processed.</li> 1830 <li><strong><code><VERSION></code></strong> or <strong><code>{VERSION}</code></strong>: The <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version used to highlight the code.</li> 1831 </ul> 1832 1833 <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> 1834 1835 <p>The header for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by 1836 the method <code class="highlighted php">set_overall_style</code>, and should contain the sort of <abbr title="Hypertext Markup Language">HTML</abbr> that belongs in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>. 1837 You may use any <abbr title="Hypertext Markup Language">HTML</abbr> you like, and format it as an <abbr title="Hypertext Markup Language">HTML</abbr> document. You should use valid <abbr title="Hypertext Markup Language">HTML</abbr> - convert to entities 1838 any quotemarks or angle brackets you want displayed. You set the header content using the method 1839 <code class="highlighted php">set_header_content<span class="br0">(</span><span class="br0">)</span></code>:</p> 1840 1841 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_content</span><span class="br0">(</span><span class="re0">$content</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1842 1843 <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> 1844 1845 <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> 1846 1847 <p>The footer for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by 1848 the method <code class="highlighted php">set_overall_style</code>, and should contain the sort of <abbr title="Hypertext Markup Language">HTML</abbr> that belongs in a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>. 1849 You may use any <abbr title="Hypertext Markup Language">HTML</abbr> you like, and format it as an <abbr title="Hypertext Markup Language">HTML</abbr> document. You should use valid <abbr title="Hypertext Markup Language">HTML</abbr> - convert to entities 1850 any quotemarks or angle brackets you want displayed. You set the footer content using the method 1851 <code class="highlighted php">set_footer_content<span class="br0">(</span><span class="br0">)</span></code>:</p> 1852 1853 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_footer_content</span><span class="br0">(</span><span class="re0">$content</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1854 1855 <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> 1856 1857 <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> 1858 1859 <p>You can apply styles to the header content you have set with the <code class="highlighted php">set_header_content_style</code>:</p> 1860 1861 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_header_content_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1862 1863 <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> 1864 1865 <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> 1866 1867 <p>You can apply styles to the footer content you have set with the <code class="highlighted php">set_footer_content_style</code>:</p> 1868 1869 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_footer_content_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1870 1871 <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> 1872 1873 <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> 1874 1875 <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 1876 the keywords in that group into URLs to appropriate documentation. And using <code class="highlighted php">add_keyword_group</code> you 1877 can add functions and classes from your own projects and use the URL functionality to provide a link to your 1878 own API documentation.</p> 1879 1880 <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> 1881 1882 <p>To set the URL to be used for a keyword group, you use the <code class="highlighted php">set_url_for_keyword_group<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1883 1884 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_url_for_keyword_group</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="re0">$url</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1885 1886 <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 1887 this group of keywords.</p> 1888 1889 <p>You may be wondering how to make each keyword in the group point to the correct URL. You do this by putting 1890 <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> 1891 to the documentation for that function, so the URL used is <code>http://www.php.net/{FNAME}</code>.</p> 1892 1893 <p>Of course, when you get to a language like Java, that puts its class documentation in related folders, it gets a 1894 little trickier to work out an appropriate URL (see the Java language file!). I hope to provide some kind of 1895 redirection service at the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> website in the future.</p> 1896 1897 <div class="note"> 1898 1899 <div class="note-header">Note:</div> 1900 1901 <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> 1902 will generate the lowercase version of the keyword, <code>{FNAMEU}</code> will generate the uppercase version. <code>{FNAME}</code> 1903 will provide the keyword as specified in the language file. <strong>Use one of these more specific placeholders 1904 if possible</strong>, as they result in less overhead while linking for case insensitive languages.</p> 1905 1906 </div> 1907 1908 <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> 1909 1910 <p>It’s easy to disable a URL for a keyword group: Simply use the method <code class="highlighted php">set_url_for_keyword_group<span class="br0">(</span><span class="br0">)</span></code> to pass 1911 an empty string as the URL:</p> 1912 1913 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_url_for_keyword_group</span><span class="br0">(</span><span class="re0">$group</span><span class="sy0">,</span> <span class="st_h">''</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1914 1915 <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> 1916 1917 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18, you can disable all URL linking for keywords:</p> 1918 1919 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_keyword_links</span><span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1920 1921 <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> 1922 1923 <p>You can also style the function links. You can style their default status, hovered, active and visited status. 1924 All of this is controlled by one method, <code class="highlighted php">set_link_styles<span class="br0">(</span><span class="br0">)</span></code>:</p> 1925 1926 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_link_styles</span><span class="br0">(</span><span class="re0">$mode</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1927 1928 <p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is one of four values:</p> 1929 1930 <ul> 1931 <li><strong><code class="highlighted php">GESHI_LINK</code>:</strong> The default style of the links.</li> 1932 <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> 1933 <li><strong><code class="highlighted php">GESHI_ACTIVE</code>:</strong> The style of the links when they are being clicked.</li> 1934 <li><strong><code class="highlighted php">GESHI_VISITED</code>:</strong> The style of links that the user has already visited.</li> 1935 </ul> 1936 1937 <p>And <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations to apply to the links.</p> 1938 1939 <div class="note"> 1940 1941 <div class="note-header">Note:</div> 1942 1943 <p>The names <code class="highlighted php">GESHI_LINK</code>, <code class="highlighted php">GESHI_HOVER</code> … are constants. Don’t put them in quotes!</p> 1944 1945 </div> 1946 1947 <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> 1948 1949 <p>Perhaps you want to set the target of link attributes, so the manual pages open in a new window? Use the 1950 <code class="highlighted php">set_link_target<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1951 1952 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_link_target</span><span class="br0">(</span><span class="re0">$target</span><span class="sy0">,</span> <span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1953 1954 <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> 1955 1956 <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> 1957 1958 <div class="caution"> 1959 1960 <div class="caution-header">Caution:</div> 1961 1962 <p>This functionality is not only buggy, but is proving very hard to implement in 1.1.X. Therefore, this 1963 functionality may well be <strong>removed</strong> in 1.2.0. You are hereby warned!</p> 1964 1965 </div> 1966 1967 <p>This feature allows you to mark a part of your source as important. But as the 1968 implementation its use is deprecated and you should consider using 1969 the “Highlight Lines Extra” feature described below.</p> 1970 1971 <h3 id="highlighting-special-lines-extra">3.15 Highlighting Special Lines “Extra”</h3><div class="nav"><a href="#using-contextual-importance">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#specifying-lines-to-highlight-extra">Next</a></div> 1972 1973 <p>An alternative (and more stable) method of highlighting code that is important 1974 is to use extra highlighting by line. Although you may not know what line numbers 1975 contain the important lines, if you do this method is a much more flexible way of 1976 making important lines stand out.</p> 1977 1978 <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> 1979 1980 <p>To specify which lines to highlight extra, you pass an array containing the line numbers to <code class="highlighted php">highlight_lines_extra<span class="br0">(</span><span class="br0">)</span></code>:</p> 1981 1982 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">highlight_lines_extra</span><span class="br0">(</span><span class="re0">$array</span><span class="br0">)</span><span class="sy0">;</span></code></p> 1983 1984 <p>The array could be in the form <code class="highlighted php"><span class="kw3">array</span><span class="br0">(</span><span class="nu0">2</span><span class="sy0">,</span> <span class="nu0">3</span><span class="sy0">,</span> <span class="nu0">4</span><span class="sy0">,</span> <span class="nu0">7</span><span class="sy0">,</span> <span class="nu0">12</span><span class="sy0">,</span> <span class="nu0">344</span><span class="sy0">,</span> <span class="nu0">4242</span><span class="br0">)</span></code>, made from a DB query, generated 1985 from looking through the source for certain important things and working out what line those things are… 1986 However you get the line numbers, the array should simply be an array of integers.</p> 1987 1988 <p>Here’s an example, using the same source as before:</p> 1989 1990 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1991 <span class="xtra li2"><span class="de2">2</span></span>3 1992 <span class="xtra li2"><span class="de2">4</span></span>5 1993 <span class="xtra li2"><span class="de2">6</span></span>7 1994 <span class="xtra li2"><span class="de2">8</span></span>9 1995 <span class="xtra li2"><span class="de2">10</span></span>11 1996 <span class="xtra li2"><span class="de2">12</span></span>13 1997 <span class="xtra li2"><span class="de2">14</span></span>15 1998 <span class="xtra li2"><span class="de2">16</span></span>17 1999 <span class="xtra li2"><span class="de2">18</span></span>19 2000 <span class="xtra li2"><span class="de2">20</span></span>21 2001 </pre></td><td class="de1"><pre class="de1"><span class="co1">//</span> 2002 <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> 2003 <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> 2004 <span class="xtra li2"><span class="de2"><span class="st_h"> int [][] ans = new int[n][m];</span></span></span><span class="st_h"> for ( int i = 0; i < n; i++ )</span> 2005 <span class="xtra li2"><span class="de2"><span class="st_h"> {</span></span></span><span class="st_h"> for ( int j = 0; i < m; j++ )</span> 2006 <span class="xtra li2"><span class="de2"><span class="st_h"> {</span></span></span><span class="st_h"> ans[i][j] = i * j;</span> 2007 <span class="xtra li2"><span class="de2"><span class="st_h"> }</span></span></span><span class="st_h"> }</span> 2008 <span class="xtra li2"><span class="de2"><span class="st_h"> return ans;</span></span></span><span class="st_h">}'</span><span class="sy0">;</span> 2009 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">)</span><span class="sy0">;</span> 2010 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">highlight_lines_extra</span><span class="br0">(</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">8</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> 2011 <span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table> 2012 2013 <p>Which produces:</p> 2014 2015 <table class="java geshicode"><thead><tr><td colspan="2" class="head">Java code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2016 <span class="xtra li2"><span class="de2">2</span></span>3 2017 <span class="xtra li2"><span class="de2">4</span></span>5 2018 <span class="xtra li2"><span class="de2">6</span></span>7 2019 <span class="xtra li2"><span class="de2"><span class="xtra ln-xtra">8</span></span></span>9 2020 <span class="xtra li2"><span class="de2">10</span></span>11 2021 <span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span><span class="br0">[</span><span class="br0">]</span> product <span class="br0">(</span> n, m <span class="br0">)</span> 2022 <span class="xtra li2"><span class="de2"><span class="br0">{</span></span></span> <span class="kw4">int</span> <span class="br0">[</span><span class="br0">]</span><span class="br0">[</span><span class="br0">]</span> ans <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">int</span><span class="br0">[</span>n<span class="br0">]</span><span class="br0">[</span>m<span class="br0">]</span><span class="sy0">;</span> 2023 <span class="xtra li2"><span class="de2"> <span class="kw1">for</span> <span class="br0">(</span> <span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0"><</span> n<span class="sy0">;</span> i<span class="sy0">++</span> <span class="br0">)</span></span></span> <span class="br0">{</span> 2024 <span class="xtra li2"><span class="de2"> <span class="kw1">for</span> <span class="br0">(</span> <span class="kw4">int</span> j <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0"><</span> m<span class="sy0">;</span> j<span class="sy0">++</span> <span class="br0">)</span></span></span> <span class="br0">{</span> 2025 <span class="xtra li2"><span class="de2"><span class="xtra ln-xtra"> ans<span class="br0">[</span>i<span class="br0">]</span><span class="br0">[</span>j<span class="br0">]</span> <span class="sy0">=</span> i <span class="sy0">*</span> j<span class="sy0">;</span></span></span></span> <span class="br0">}</span> 2026 <span class="xtra li2"><span class="de2"> <span class="br0">}</span></span></span> <span class="kw1">return</span> ans<span class="sy0">;</span> 2027 <span class="xtra li2"><span class="de2"><span class="br0">}</span></span></span></pre></td></tr></tbody></table> 2028 2029 <p>What’s more, as you can see the code on a highlighted line is still actually highlighted itself.</p> 2030 2031 <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> 2032 2033 <p>Again as with contextual importance, you’re not chained to the yellow theme that is the default. You can 2034 use the <code class="highlighted php">set_highlight_lines_extra_style</code> method:</p> 2035 2036 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_highlight_lines_extra_style</span><span class="br0">(</span><span class="re0">$styles</span><span class="br0">)</span><span class="sy0">;</span></code></p> 2037 2038 <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> 2039 2040 <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> 2041 2042 <p>Perhaps you’re a javascript junkie? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> provides a way to give each line an ID so you can access that line with 2043 javascript, or perhaps just by plain <abbr title="Cascading Style Sheets">CSS</abbr> (though if you want to access lines by <abbr title="Cascading Style Sheets">CSS</abbr> you should use the method 2044 in the previous section). To enable IDs you call the <code class="highlighted php">enable_ids<span class="br0">(</span><span class="br0">)</span></code> method:</p> 2045 2046 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_ids</span><span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span><span class="sy0">;</span></code></p> 2047 2048 <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> 2049 2050 <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 2051 be “mycode”, then the IDs for each line would by “mycode-1”, “mycode-2” etc. If there is no <abbr title="Cascading Style Sheets">CSS</abbr> ID set, then one is 2052 made up in the form <code>geshi-[4 random characters]</code>, but this is not so useful for if you want to do javascript manipulation.</p> 2053 2054 <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> 2055 2056 <p>Once you’ve called <code class="highlighted php">parse_code<span class="br0">(</span><span class="br0">)</span></code>, you can get the time it took to run the highlighting by calling the 2057 <code class="highlighted php">get_time<span class="br0">(</span><span class="br0">)</span></code> method:</p> 2058 2059 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2060 <span class="xtra li2"><span class="de2">2</span></span>3 2061 <span class="xtra li2"><span class="de2">4</span></span>5 2062 <span class="xtra li2"><span class="de2">6</span></span>7 2063 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="re0">$language</span><span class="sy0">,</span> <span class="re0">$path</span><span class="br0">)</span><span class="sy0">;</span> 2064 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$code</span> <span class="sy0">=</span> <a href="http://www.php.net/mysql_real_escape_string"><span class="kw3">mysql_real_escape_string</span></a><span class="br0">(</span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> 2065 <span class="xtra li2"><span class="de2"><span class="re0">$time</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 2066 <span class="xtra li2"><span class="de2"><span class="co1">// do something with it</span></span></span><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">(</span><span class="st0">"INSERT INTO code VALUES ('<span class="es4">$code</span>', '<span class="es4">$time</span>')"</span><span class="br0">)</span><span class="sy0">;</span></pre></td></tr></tbody></table> 2067 2068 <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> 2069 2070 <p>So now you know what features <abbr title="Generic Syntax Highlighter">GeSHi</abbr> offers, and perhaps you’ve even meddled with the source. Or perhaps 2071 you’d like a language file for language X but it doesn’t seem to be supported? Rubbish! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will highlight 2072 anything, what do you think I coded this for? ^_^ You’ll just have to learn how to make a language file 2073 yourself. And I promise it’s not too hard - and if you’re here you’re in the right place!</p> 2074 2075 <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> 2076 2077 <p>Let’s begin by looking at an example language file - the language file for the first language ever supported, 2078 <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</p> 2079 2080 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2081 <span class="xtra li2"><span class="de2">2</span></span>3 2082 <span class="xtra li2"><span class="de2">4</span></span>5 2083 <span class="xtra li2"><span class="de2">6</span></span>7 2084 <span class="xtra li2"><span class="de2">8</span></span>9 2085 <span class="xtra li2"><span class="de2">10</span></span>11 2086 <span class="xtra li2"><span class="de2">12</span></span>13 2087 <span class="xtra li2"><span class="de2">14</span></span>15 2088 <span class="xtra li2"><span class="de2">16</span></span>17 2089 <span class="xtra li2"><span class="de2">18</span></span>19 2090 <span class="xtra li2"><span class="de2">20</span></span>21 2091 <span class="xtra li2"><span class="de2">22</span></span>23 2092 <span class="xtra li2"><span class="de2">24</span></span>25 2093 <span class="xtra li2"><span class="de2">26</span></span>27 2094 <span class="xtra li2"><span class="de2">28</span></span>29 2095 <span class="xtra li2"><span class="de2">30</span></span>31 2096 <span class="xtra li2"><span class="de2">32</span></span>33 2097 <span class="xtra li2"><span class="de2">34</span></span>35 2098 <span class="xtra li2"><span class="de2">36</span></span>37 2099 <span class="xtra li2"><span class="de2">38</span></span>39 2100 <span class="xtra li2"><span class="de2">40</span></span>41 2101 <span class="xtra li2"><span class="de2">42</span></span>43 2102 <span class="xtra li2"><span class="de2">44</span></span>45 2103 <span class="xtra li2"><span class="de2">46</span></span>47 2104 <span class="xtra li2"><span class="de2">48</span></span>49 2105 <span class="xtra li2"><span class="de2">50</span></span>51 2106 <span class="xtra li2"><span class="de2">52</span></span>53 2107 <span class="xtra li2"><span class="de2">54</span></span>55 2108 <span class="xtra li2"><span class="de2">56</span></span>57 2109 <span class="xtra li2"><span class="de2">58</span></span>59 2110 <span class="xtra li2"><span class="de2">60</span></span>61 2111 <span class="xtra li2"><span class="de2">62</span></span>63 2112 <span class="xtra li2"><span class="de2">64</span></span>65 2113 <span class="xtra li2"><span class="de2">66</span></span>67 2114 <span class="xtra li2"><span class="de2">68</span></span>69 2115 <span class="xtra li2"><span class="de2">70</span></span>71 2116 <span class="xtra li2"><span class="de2">72</span></span>73 2117 <span class="xtra li2"><span class="de2">74</span></span>75 2118 <span class="xtra li2"><span class="de2">76</span></span>77 2119 <span class="xtra li2"><span class="de2">78</span></span>79 2120 <span class="xtra li2"><span class="de2">80</span></span>81 2121 <span class="xtra li2"><span class="de2">82</span></span>83 2122 <span class="xtra li2"><span class="de2">84</span></span>85 2123 <span class="xtra li2"><span class="de2">86</span></span>87 2124 <span class="xtra li2"><span class="de2">88</span></span>89 2125 <span class="xtra li2"><span class="de2">90</span></span>91 2126 <span class="xtra li2"><span class="de2">92</span></span>93 2127 <span class="xtra li2"><span class="de2">94</span></span>95 2128 <span class="xtra li2"><span class="de2">96</span></span>97 2129 <span class="xtra li2"><span class="de2">98</span></span>99 2130 <span class="xtra li2"><span class="de2">100</span></span>101 2131 <span class="xtra li2"><span class="de2">102</span></span>103 2132 <span class="xtra li2"><span class="de2">104</span></span>105 2133 <span class="xtra li2"><span class="de2">106</span></span>107 2134 <span class="xtra li2"><span class="de2">108</span></span>109 2135 <span class="xtra li2"><span class="de2">110</span></span>111 2136 <span class="xtra li2"><span class="de2">112</span></span>113 2137 <span class="xtra li2"><span class="de2">114</span></span>115 2138 <span class="xtra li2"><span class="de2">116</span></span>117 2139 <span class="xtra li2"><span class="de2">118</span></span>119 2140 <span class="xtra li2"><span class="de2">120</span></span>121 2141 <span class="xtra li2"><span class="de2">122</span></span>123 2142 <span class="xtra li2"><span class="de2">124</span></span>125 2143 <span class="xtra li2"><span class="de2">126</span></span>127 2144 <span class="xtra li2"><span class="de2">128</span></span>129 2145 <span class="xtra li2"><span class="de2">130</span></span>131 2146 <span class="xtra li2"><span class="de2">132</span></span>133 2147 <span class="xtra li2"><span class="de2">134</span></span>135 2148 <span class="xtra li2"><span class="de2">136</span></span>137 2149 <span class="xtra li2"><span class="de2">138</span></span>139 2150 <span class="xtra li2"><span class="de2">140</span></span>141 2151 <span class="xtra li2"><span class="de2">142</span></span>143 2152 <span class="xtra li2"><span class="de2">144</span></span>145 2153 <span class="xtra li2"><span class="de2">146</span></span>147 2154 <span class="xtra li2"><span class="de2">148</span></span>149 2155 <span class="xtra li2"><span class="de2">150</span></span>151 2156 <span class="xtra li2"><span class="de2">152</span></span>153 2157 <span class="xtra li2"><span class="de2">154</span></span>155 2158 <span class="xtra li2"><span class="de2">156</span></span>157 2159 <span class="xtra li2"><span class="de2">158</span></span>159 2160 <span class="xtra li2"><span class="de2">160</span></span>161 2161 <span class="xtra li2"><span class="de2">162</span></span>163 2162 <span class="xtra li2"><span class="de2">164</span></span>165 2163 <span class="xtra li2"><span class="de2">166</span></span>167 2164 <span class="xtra li2"><span class="de2">168</span></span>169 2165 <span class="xtra li2"><span class="de2">170</span></span>171 2166 <span class="xtra li2"><span class="de2">172</span></span>173 2167 <span class="xtra li2"><span class="de2">174</span></span>175 2168 <span class="xtra li2"><span class="de2">176</span></span>177 2169 <span class="xtra li2"><span class="de2">178</span></span>179 2170 <span class="xtra li2"><span class="de2">180</span></span>181 2171 <span class="xtra li2"><span class="de2">182</span></span>183 2172 <span class="xtra li2"><span class="de2">184</span></span>185 2173 <span class="xtra li2"><span class="de2">186</span></span>187 2174 <span class="xtra li2"><span class="de2">188</span></span>189 2175 <span class="xtra li2"><span class="de2">190</span></span>191 2176 <span class="xtra li2"><span class="de2">192</span></span>193 2177 <span class="xtra li2"><span class="de2">194</span></span>195 2178 <span class="xtra li2"><span class="de2">196</span></span>197 2179 <span class="xtra li2"><span class="de2">198</span></span>199 2180 <span class="xtra li2"><span class="de2">200</span></span>201 2181 <span class="xtra li2"><span class="de2">202</span></span>203 2182 <span class="xtra li2"><span class="de2">204</span></span>205 2183 <span class="xtra li2"><span class="de2">206</span></span>207 2184 <span class="xtra li2"><span class="de2">208</span></span>209 2185 <span class="xtra li2"><span class="de2">210</span></span>211 2186 <span class="xtra li2"><span class="de2">212</span></span>213 2187 <span class="xtra li2"><span class="de2">214</span></span>215 2188 <span class="xtra li2"><span class="de2">216</span></span>217 2189 <span class="xtra li2"><span class="de2">218</span></span>219 2190 <span class="xtra li2"><span class="de2">220</span></span>221 2191 <span class="xtra li2"><span class="de2">222</span></span>223 2192 <span class="xtra li2"><span class="de2">224</span></span>225 2193 <span class="xtra li2"><span class="de2">226</span></span>227 2194 <span class="xtra li2"><span class="de2">228</span></span>229 2195 <span class="xtra li2"><span class="de2">230</span></span>231 2196 <span class="xtra li2"><span class="de2">232</span></span>233 2197 <span class="xtra li2"><span class="de2">234</span></span>235 2198 <span class="xtra li2"><span class="de2">236</span></span>237 2199 <span class="xtra li2"><span class="de2">238</span></span>239 2200 <span class="xtra li2"><span class="de2">240</span></span>241 2201 <span class="xtra li2"><span class="de2">242</span></span>243 2202 <span class="xtra li2"><span class="de2">244</span></span>245 2203 <span class="xtra li2"><span class="de2">246</span></span>247 2204 <span class="xtra li2"><span class="de2">248</span></span>249 2205 <span class="xtra li2"><span class="de2">250</span></span>251 2206 <span class="xtra li2"><span class="de2">252</span></span>253 2207 <span class="xtra li2"><span class="de2">254</span></span>255 2208 <span class="xtra li2"><span class="de2">256</span></span>257 2209 <span class="xtra li2"><span class="de2">258</span></span>259 2210 <span class="xtra li2"><span class="de2">260</span></span>261 2211 <span class="xtra li2"><span class="de2">262</span></span>263 2212 <span class="xtra li2"><span class="de2">264</span></span>265 2213 <span class="xtra li2"><span class="de2">266</span></span>267 2214 <span class="xtra li2"><span class="de2">268</span></span>269 2215 <span class="xtra li2"><span class="de2">270</span></span>271 2216 <span class="xtra li2"><span class="de2">272</span></span>273 2217 <span class="xtra li2"><span class="de2">274</span></span>275 2218 <span class="xtra li2"><span class="de2">276</span></span>277 2219 <span class="xtra li2"><span class="de2">278</span></span>279 2220 <span class="xtra li2"><span class="de2">280</span></span>281 2221 <span class="xtra li2"><span class="de2">282</span></span>283 2222 <span class="xtra li2"><span class="de2">284</span></span>285 2223 <span class="xtra li2"><span class="de2">286</span></span>287 2224 <span class="xtra li2"><span class="de2">288</span></span>289 2225 <span class="xtra li2"><span class="de2">290</span></span>291 2226 <span class="xtra li2"><span class="de2">292</span></span>293 2227 <span class="xtra li2"><span class="de2">294</span></span>295 2228 <span class="xtra li2"><span class="de2">296</span></span>297 2229 <span class="xtra li2"><span class="de2">298</span></span>299 2230 <span class="xtra li2"><span class="de2">300</span></span>301 2231 <span class="xtra li2"><span class="de2">302</span></span>303 2232 <span class="xtra li2"><span class="de2">304</span></span>305 2233 <span class="xtra li2"><span class="de2">306</span></span>307 2234 <span class="xtra li2"><span class="de2">308</span></span>309 2235 <span class="xtra li2"><span class="de2">310</span></span>311 2236 <span class="xtra li2"><span class="de2">312</span></span>313 2237 <span class="xtra li2"><span class="de2">314</span></span>315 2238 <span class="xtra li2"><span class="de2">316</span></span>317 2239 <span class="xtra li2"><span class="de2">318</span></span>319 2240 <span class="xtra li2"><span class="de2">320</span></span>321 2241 <span class="xtra li2"><span class="de2">322</span></span>323 2242 <span class="xtra li2"><span class="de2">324</span></span>325 2243 <span class="xtra li2"><span class="de2">326</span></span>327 2244 <span class="xtra li2"><span class="de2">328</span></span>329 2245 <span class="xtra li2"><span class="de2">330</span></span>331 2246 <span class="xtra li2"><span class="de2">332</span></span>333 2247 <span class="xtra li2"><span class="de2">334</span></span>335 2248 <span class="xtra li2"><span class="de2">336</span></span>337 2249 <span class="xtra li2"><span class="de2">338</span></span>339 2250 <span class="xtra li2"><span class="de2">340</span></span>341 2251 <span class="xtra li2"><span class="de2">342</span></span>343 2252 <span class="xtra li2"><span class="de2">344</span></span>345 2253 <span class="xtra li2"><span class="de2">346</span></span>347 2254 <span class="xtra li2"><span class="de2">348</span></span>349 2255 <span class="xtra li2"><span class="de2">350</span></span>351 2256 <span class="xtra li2"><span class="de2">352</span></span>353 2257 <span class="xtra li2"><span class="de2">354</span></span>355 2258 <span class="xtra li2"><span class="de2">356</span></span>357 2259 <span class="xtra li2"><span class="de2">358</span></span>359 2260 <span class="xtra li2"><span class="de2">360</span></span>361 2261 <span class="xtra li2"><span class="de2">362</span></span>363 2262 <span class="xtra li2"><span class="de2">364</span></span>365 2263 <span class="xtra li2"><span class="de2">366</span></span>367 2264 <span class="xtra li2"><span class="de2">368</span></span>369 2265 <span class="xtra li2"><span class="de2">370</span></span>371 2266 <span class="xtra li2"><span class="de2">372</span></span>373 2267 <span class="xtra li2"><span class="de2">374</span></span>375 2268 <span class="xtra li2"><span class="de2">376</span></span>377 2269 <span class="xtra li2"><span class="de2">378</span></span>379 2270 <span class="xtra li2"><span class="de2">380</span></span>381 2271 <span class="xtra li2"><span class="de2">382</span></span>383 2272 <span class="xtra li2"><span class="de2">384</span></span>385 2273 <span class="xtra li2"><span class="de2">386</span></span>387 2274 <span class="xtra li2"><span class="de2">388</span></span>389 2275 <span class="xtra li2"><span class="de2">390</span></span>391 2276 <span class="xtra li2"><span class="de2">392</span></span>393 2277 <span class="xtra li2"><span class="de2">394</span></span>395 2278 <span class="xtra li2"><span class="de2">396</span></span>397 2279 <span class="xtra li2"><span class="de2">398</span></span>399 2280 <span class="xtra li2"><span class="de2">400</span></span>401 2281 <span class="xtra li2"><span class="de2">402</span></span>403 2282 <span class="xtra li2"><span class="de2">404</span></span>405 2283 <span class="xtra li2"><span class="de2">406</span></span>407 2284 <span class="xtra li2"><span class="de2">408</span></span>409 2285 <span class="xtra li2"><span class="de2">410</span></span>411 2286 <span class="xtra li2"><span class="de2">412</span></span>413 2287 <span class="xtra li2"><span class="de2">414</span></span>415 2288 <span class="xtra li2"><span class="de2">416</span></span>417 2289 <span class="xtra li2"><span class="de2">418</span></span>419 2290 <span class="xtra li2"><span class="de2">420</span></span>421 2291 <span class="xtra li2"><span class="de2">422</span></span>423 2292 <span class="xtra li2"><span class="de2">424</span></span>425 2293 <span class="xtra li2"><span class="de2">426</span></span>427 2294 <span class="xtra li2"><span class="de2">428</span></span>429 2295 <span class="xtra li2"><span class="de2">430</span></span>431 2296 <span class="xtra li2"><span class="de2">432</span></span>433 2297 <span class="xtra li2"><span class="de2">434</span></span>435 2298 <span class="xtra li2"><span class="de2">436</span></span>437 2299 <span class="xtra li2"><span class="de2">438</span></span>439 2300 <span class="xtra li2"><span class="de2">440</span></span>441 2301 <span class="xtra li2"><span class="de2">442</span></span>443 2302 <span class="xtra li2"><span class="de2">444</span></span>445 2303 <span class="xtra li2"><span class="de2">446</span></span>447 2304 <span class="xtra li2"><span class="de2">448</span></span>449 2305 <span class="xtra li2"><span class="de2">450</span></span>451 2306 <span class="xtra li2"><span class="de2">452</span></span>453 2307 <span class="xtra li2"><span class="de2">454</span></span>455 2308 <span class="xtra li2"><span class="de2">456</span></span>457 2309 <span class="xtra li2"><span class="de2">458</span></span>459 2310 <span class="xtra li2"><span class="de2">460</span></span>461 2311 <span class="xtra li2"><span class="de2">462</span></span>463 2312 <span class="xtra li2"><span class="de2">464</span></span>465 2313 <span class="xtra li2"><span class="de2">466</span></span>467 2314 <span class="xtra li2"><span class="de2">468</span></span>469 2315 <span class="xtra li2"><span class="de2">470</span></span>471 2316 <span class="xtra li2"><span class="de2">472</span></span>473 2317 <span class="xtra li2"><span class="de2">474</span></span>475 2318 <span class="xtra li2"><span class="de2">476</span></span>477 2319 <span class="xtra li2"><span class="de2">478</span></span>479 2320 <span class="xtra li2"><span class="de2">480</span></span>481 2321 <span class="xtra li2"><span class="de2">482</span></span>483 2322 <span class="xtra li2"><span class="de2">484</span></span>485 2323 <span class="xtra li2"><span class="de2">486</span></span>487 2324 <span class="xtra li2"><span class="de2">488</span></span>489 2325 <span class="xtra li2"><span class="de2">490</span></span>491 2326 <span class="xtra li2"><span class="de2">492</span></span>493 2327 <span class="xtra li2"><span class="de2">494</span></span>495 2328 <span class="xtra li2"><span class="de2">496</span></span>497 2329 <span class="xtra li2"><span class="de2">498</span></span>499 2330 <span class="xtra li2"><span class="de2">500</span></span>501 2331 <span class="xtra li2"><span class="de2">502</span></span>503 2332 <span class="xtra li2"><span class="de2">504</span></span>505 2333 <span class="xtra li2"><span class="de2">506</span></span>507 2334 <span class="xtra li2"><span class="de2">508</span></span>509 2335 <span class="xtra li2"><span class="de2">510</span></span>511 2336 <span class="xtra li2"><span class="de2">512</span></span>513 2337 <span class="xtra li2"><span class="de2">514</span></span>515 2338 <span class="xtra li2"><span class="de2">516</span></span>517 2339 <span class="xtra li2"><span class="de2">518</span></span>519 2340 <span class="xtra li2"><span class="de2">520</span></span>521 2341 <span class="xtra li2"><span class="de2">522</span></span>523 2342 <span class="xtra li2"><span class="de2">524</span></span>525 2343 <span class="xtra li2"><span class="de2">526</span></span>527 2344 <span class="xtra li2"><span class="de2">528</span></span>529 2345 <span class="xtra li2"><span class="de2">530</span></span>531 2346 <span class="xtra li2"><span class="de2">532</span></span>533 2347 <span class="xtra li2"><span class="de2">534</span></span>535 2348 <span class="xtra li2"><span class="de2">536</span></span>537 2349 <span class="xtra li2"><span class="de2">538</span></span>539 2350 <span class="xtra li2"><span class="de2">540</span></span>541 2351 <span class="xtra li2"><span class="de2">542</span></span>543 2352 <span class="xtra li2"><span class="de2">544</span></span>545 2353 <span class="xtra li2"><span class="de2">546</span></span>547 2354 <span class="xtra li2"><span class="de2">548</span></span>549 2355 <span class="xtra li2"><span class="de2">550</span></span>551 2356 <span class="xtra li2"><span class="de2">552</span></span>553 2357 <span class="xtra li2"><span class="de2">554</span></span>555 2358 <span class="xtra li2"><span class="de2">556</span></span>557 2359 <span class="xtra li2"><span class="de2">558</span></span>559 2360 <span class="xtra li2"><span class="de2">560</span></span>561 2361 <span class="xtra li2"><span class="de2">562</span></span>563 2362 <span class="xtra li2"><span class="de2">564</span></span>565 2363 <span class="xtra li2"><span class="de2">566</span></span>567 2364 <span class="xtra li2"><span class="de2">568</span></span>569 2365 <span class="xtra li2"><span class="de2">570</span></span>571 2366 <span class="xtra li2"><span class="de2">572</span></span>573 2367 <span class="xtra li2"><span class="de2">574</span></span>575 2368 <span class="xtra li2"><span class="de2">576</span></span>577 2369 <span class="xtra li2"><span class="de2">578</span></span>579 2370 <span class="xtra li2"><span class="de2">580</span></span>581 2371 <span class="xtra li2"><span class="de2">582</span></span>583 2372 <span class="xtra li2"><span class="de2">584</span></span>585 2373 <span class="xtra li2"><span class="de2">586</span></span>587 2374 <span class="xtra li2"><span class="de2">588</span></span>589 2375 <span class="xtra li2"><span class="de2">590</span></span>591 2376 <span class="xtra li2"><span class="de2">592</span></span>593 2377 <span class="xtra li2"><span class="de2">594</span></span>595 2378 <span class="xtra li2"><span class="de2">596</span></span>597 2379 <span class="xtra li2"><span class="de2">598</span></span>599 2380 <span class="xtra li2"><span class="de2">600</span></span>601 2381 <span class="xtra li2"><span class="de2">602</span></span>603 2382 <span class="xtra li2"><span class="de2">604</span></span>605 2383 <span class="xtra li2"><span class="de2">606</span></span>607 2384 <span class="xtra li2"><span class="de2">608</span></span>609 2385 <span class="xtra li2"><span class="de2">610</span></span>611 2386 <span class="xtra li2"><span class="de2">612</span></span>613 2387 <span class="xtra li2"><span class="de2">614</span></span>615 2388 <span class="xtra li2"><span class="de2">616</span></span>617 2389 <span class="xtra li2"><span class="de2">618</span></span>619 2390 <span class="xtra li2"><span class="de2">620</span></span>621 2391 <span class="xtra li2"><span class="de2">622</span></span>623 2392 <span class="xtra li2"><span class="de2">624</span></span>625 2393 <span class="xtra li2"><span class="de2">626</span></span>627 2394 <span class="xtra li2"><span class="de2">628</span></span>629 2395 <span class="xtra li2"><span class="de2">630</span></span>631 2396 <span class="xtra li2"><span class="de2">632</span></span>633 2397 <span class="xtra li2"><span class="de2">634</span></span>635 2398 <span class="xtra li2"><span class="de2">636</span></span>637 2399 <span class="xtra li2"><span class="de2">638</span></span>639 2400 <span class="xtra li2"><span class="de2">640</span></span>641 2401 <span class="xtra li2"><span class="de2">642</span></span>643 2402 <span class="xtra li2"><span class="de2">644</span></span>645 2403 <span class="xtra li2"><span class="de2">646</span></span>647 2404 <span class="xtra li2"><span class="de2">648</span></span>649 2405 <span class="xtra li2"><span class="de2">650</span></span>651 2406 <span class="xtra li2"><span class="de2">652</span></span>653 2407 <span class="xtra li2"><span class="de2">654</span></span>655 2408 <span class="xtra li2"><span class="de2">656</span></span>657 2409 <span class="xtra li2"><span class="de2">658</span></span>659 2410 <span class="xtra li2"><span class="de2">660</span></span>661 2411 <span class="xtra li2"><span class="de2">662</span></span>663 2412 <span class="xtra li2"><span class="de2">664</span></span>665 2413 <span class="xtra li2"><span class="de2">666</span></span>667 2414 <span class="xtra li2"><span class="de2">668</span></span>669 2415 <span class="xtra li2"><span class="de2">670</span></span>671 2416 <span class="xtra li2"><span class="de2">672</span></span>673 2417 <span class="xtra li2"><span class="de2">674</span></span>675 2418 <span class="xtra li2"><span class="de2">676</span></span>677 2419 <span class="xtra li2"><span class="de2">678</span></span>679 2420 <span class="xtra li2"><span class="de2">680</span></span>681 2421 <span class="xtra li2"><span class="de2">682</span></span>683 2422 <span class="xtra li2"><span class="de2">684</span></span>685 2423 <span class="xtra li2"><span class="de2">686</span></span>687 2424 <span class="xtra li2"><span class="de2">688</span></span>689 2425 <span class="xtra li2"><span class="de2">690</span></span>691 2426 <span class="xtra li2"><span class="de2">692</span></span>693 2427 <span class="xtra li2"><span class="de2">694</span></span>695 2428 <span class="xtra li2"><span class="de2">696</span></span>697 2429 <span class="xtra li2"><span class="de2">698</span></span>699 2430 <span class="xtra li2"><span class="de2">700</span></span>701 2431 <span class="xtra li2"><span class="de2">702</span></span>703 2432 <span class="xtra li2"><span class="de2">704</span></span>705 2433 <span class="xtra li2"><span class="de2">706</span></span>707 2434 <span class="xtra li2"><span class="de2">708</span></span>709 2435 <span class="xtra li2"><span class="de2">710</span></span>711 2436 <span class="xtra li2"><span class="de2">712</span></span>713 2437 <span class="xtra li2"><span class="de2">714</span></span>715 2438 <span class="xtra li2"><span class="de2">716</span></span>717 2439 <span class="xtra li2"><span class="de2">718</span></span>719 2440 <span class="xtra li2"><span class="de2">720</span></span>721 2441 <span class="xtra li2"><span class="de2">722</span></span>723 2442 <span class="xtra li2"><span class="de2">724</span></span>725 2443 <span class="xtra li2"><span class="de2">726</span></span>727 2444 <span class="xtra li2"><span class="de2">728</span></span>729 2445 <span class="xtra li2"><span class="de2">730</span></span>731 2446 <span class="xtra li2"><span class="de2">732</span></span>733 2447 <span class="xtra li2"><span class="de2">734</span></span>735 2448 <span class="xtra li2"><span class="de2">736</span></span>737 2449 <span class="xtra li2"><span class="de2">738</span></span>739 2450 <span class="xtra li2"><span class="de2">740</span></span>741 2451 <span class="xtra li2"><span class="de2">742</span></span>743 2452 <span class="xtra li2"><span class="de2">744</span></span>745 2453 <span class="xtra li2"><span class="de2">746</span></span>747 2454 <span class="xtra li2"><span class="de2">748</span></span>749 2455 <span class="xtra li2"><span class="de2">750</span></span>751 2456 <span class="xtra li2"><span class="de2">752</span></span>753 2457 <span class="xtra li2"><span class="de2">754</span></span>755 2458 <span class="xtra li2"><span class="de2">756</span></span>757 2459 <span class="xtra li2"><span class="de2">758</span></span>759 2460 <span class="xtra li2"><span class="de2">760</span></span>761 2461 <span class="xtra li2"><span class="de2">762</span></span>763 2462 <span class="xtra li2"><span class="de2">764</span></span>765 2463 <span class="xtra li2"><span class="de2">766</span></span>767 2464 <span class="xtra li2"><span class="de2">768</span></span>769 2465 <span class="xtra li2"><span class="de2">770</span></span>771 2466 <span class="xtra li2"><span class="de2">772</span></span>773 2467 <span class="xtra li2"><span class="de2">774</span></span>775 2468 <span class="xtra li2"><span class="de2">776</span></span>777 2469 <span class="xtra li2"><span class="de2">778</span></span>779 2470 <span class="xtra li2"><span class="de2">780</span></span>781 2471 <span class="xtra li2"><span class="de2">782</span></span>783 2472 <span class="xtra li2"><span class="de2">784</span></span>785 2473 <span class="xtra li2"><span class="de2">786</span></span>787 2474 <span class="xtra li2"><span class="de2">788</span></span>789 2475 <span class="xtra li2"><span class="de2">790</span></span>791 2476 <span class="xtra li2"><span class="de2">792</span></span>793 2477 <span class="xtra li2"><span class="de2">794</span></span>795 2478 <span class="xtra li2"><span class="de2">796</span></span>797 2479 <span class="xtra li2"><span class="de2">798</span></span>799 2480 <span class="xtra li2"><span class="de2">800</span></span>801 2481 <span class="xtra li2"><span class="de2">802</span></span>803 2482 <span class="xtra li2"><span class="de2">804</span></span>805 2483 <span class="xtra li2"><span class="de2">806</span></span>807 2484 <span class="xtra li2"><span class="de2">808</span></span>809 2485 <span class="xtra li2"><span class="de2">810</span></span>811 2486 <span class="xtra li2"><span class="de2">812</span></span>813 2487 <span class="xtra li2"><span class="de2">814</span></span>815 2488 <span class="xtra li2"><span class="de2">816</span></span>817 2489 <span class="xtra li2"><span class="de2">818</span></span>819 2490 <span class="xtra li2"><span class="de2">820</span></span>821 2491 <span class="xtra li2"><span class="de2">822</span></span>823 2492 <span class="xtra li2"><span class="de2">824</span></span>825 2493 <span class="xtra li2"><span class="de2">826</span></span>827 2494 <span class="xtra li2"><span class="de2">828</span></span>829 2495 <span class="xtra li2"><span class="de2">830</span></span>831 2496 <span class="xtra li2"><span class="de2">832</span></span>833 2497 <span class="xtra li2"><span class="de2">834</span></span>835 2498 <span class="xtra li2"><span class="de2">836</span></span>837 2499 <span class="xtra li2"><span class="de2">838</span></span>839 2500 <span class="xtra li2"><span class="de2">840</span></span>841 2501 <span class="xtra li2"><span class="de2">842</span></span>843 2502 <span class="xtra li2"><span class="de2">844</span></span>845 2503 <span class="xtra li2"><span class="de2">846</span></span>847 2504 <span class="xtra li2"><span class="de2">848</span></span>849 2505 <span class="xtra li2"><span class="de2">850</span></span>851 2506 <span class="xtra li2"><span class="de2">852</span></span>853 2507 <span class="xtra li2"><span class="de2">854</span></span>855 2508 <span class="xtra li2"><span class="de2">856</span></span>857 2509 <span class="xtra li2"><span class="de2">858</span></span>859 2510 <span class="xtra li2"><span class="de2">860</span></span>861 2511 <span class="xtra li2"><span class="de2">862</span></span>863 2512 <span class="xtra li2"><span class="de2">864</span></span>865 2513 <span class="xtra li2"><span class="de2">866</span></span>867 2514 <span class="xtra li2"><span class="de2">868</span></span>869 2515 <span class="xtra li2"><span class="de2">870</span></span>871 2516 <span class="xtra li2"><span class="de2">872</span></span>873 2517 <span class="xtra li2"><span class="de2">874</span></span>875 2518 <span class="xtra li2"><span class="de2">876</span></span>877 2519 <span class="xtra li2"><span class="de2">878</span></span>879 2520 <span class="xtra li2"><span class="de2">880</span></span>881 2521 <span class="xtra li2"><span class="de2">882</span></span>883 2522 <span class="xtra li2"><span class="de2">884</span></span>885 2523 <span class="xtra li2"><span class="de2">886</span></span>887 2524 <span class="xtra li2"><span class="de2">888</span></span>889 2525 <span class="xtra li2"><span class="de2">890</span></span>891 2526 <span class="xtra li2"><span class="de2">892</span></span>893 2527 <span class="xtra li2"><span class="de2">894</span></span>895 2528 <span class="xtra li2"><span class="de2">896</span></span>897 2529 <span class="xtra li2"><span class="de2">898</span></span>899 2530 <span class="xtra li2"><span class="de2">900</span></span>901 2531 <span class="xtra li2"><span class="de2">902</span></span>903 2532 <span class="xtra li2"><span class="de2">904</span></span>905 2533 <span class="xtra li2"><span class="de2">906</span></span>907 2534 <span class="xtra li2"><span class="de2">908</span></span>909 2535 <span class="xtra li2"><span class="de2">910</span></span>911 2536 <span class="xtra li2"><span class="de2">912</span></span>913 2537 <span class="xtra li2"><span class="de2">914</span></span>915 2538 <span class="xtra li2"><span class="de2">916</span></span>917 2539 <span class="xtra li2"><span class="de2">918</span></span>919 2540 <span class="xtra li2"><span class="de2">920</span></span>921 2541 <span class="xtra li2"><span class="de2">922</span></span>923 2542 <span class="xtra li2"><span class="de2">924</span></span>925 2543 <span class="xtra li2"><span class="de2">926</span></span>927 2544 <span class="xtra li2"><span class="de2">928</span></span>929 2545 <span class="xtra li2"><span class="de2">930</span></span>931 2546 <span class="xtra li2"><span class="de2">932</span></span>933 2547 <span class="xtra li2"><span class="de2">934</span></span>935 2548 <span class="xtra li2"><span class="de2">936</span></span>937 2549 <span class="xtra li2"><span class="de2">938</span></span>939 2550 <span class="xtra li2"><span class="de2">940</span></span>941 2551 <span class="xtra li2"><span class="de2">942</span></span>943 2552 <span class="xtra li2"><span class="de2">944</span></span>945 2553 <span class="xtra li2"><span class="de2">946</span></span>947 2554 <span class="xtra li2"><span class="de2">948</span></span>949 2555 <span class="xtra li2"><span class="de2">950</span></span>951 2556 <span class="xtra li2"><span class="de2">952</span></span>953 2557 <span class="xtra li2"><span class="de2">954</span></span>955 2558 <span class="xtra li2"><span class="de2">956</span></span>957 2559 <span class="xtra li2"><span class="de2">958</span></span>959 2560 <span class="xtra li2"><span class="de2">960</span></span>961 2561 <span class="xtra li2"><span class="de2">962</span></span>963 2562 <span class="xtra li2"><span class="de2">964</span></span>965 2563 <span class="xtra li2"><span class="de2">966</span></span>967 2564 <span class="xtra li2"><span class="de2">968</span></span>969 2565 <span class="xtra li2"><span class="de2">970</span></span>971 2566 <span class="xtra li2"><span class="de2">972</span></span>973 2567 <span class="xtra li2"><span class="de2">974</span></span>975 2568 <span class="xtra li2"><span class="de2">976</span></span>977 2569 <span class="xtra li2"><span class="de2">978</span></span>979 2570 <span class="xtra li2"><span class="de2">980</span></span>981 2571 <span class="xtra li2"><span class="de2">982</span></span>983 2572 <span class="xtra li2"><span class="de2">984</span></span>985 2573 <span class="xtra li2"><span class="de2">986</span></span>987 2574 <span class="xtra li2"><span class="de2">988</span></span>989 2575 <span class="xtra li2"><span class="de2">990</span></span>991 2576 <span class="xtra li2"><span class="de2">992</span></span>993 2577 <span class="xtra li2"><span class="de2">994</span></span>995 2578 <span class="xtra li2"><span class="de2">996</span></span>997 2579 <span class="xtra li2"><span class="de2">998</span></span>999 2580 <span class="xtra li2"><span class="de2">1000</span></span>1001 2581 <span class="xtra li2"><span class="de2">1002</span></span>1003 2582 <span class="xtra li2"><span class="de2">1004</span></span>1005 2583 <span class="xtra li2"><span class="de2">1006</span></span>1007 2584 <span class="xtra li2"><span class="de2">1008</span></span>1009 2585 <span class="xtra li2"><span class="de2">1010</span></span>1011 2586 <span class="xtra li2"><span class="de2">1012</span></span>1013 2587 <span class="xtra li2"><span class="de2">1014</span></span>1015 2588 <span class="xtra li2"><span class="de2">1016</span></span>1017 2589 <span class="xtra li2"><span class="de2">1018</span></span>1019 2590 <span class="xtra li2"><span class="de2">1020</span></span>1021 2591 <span class="xtra li2"><span class="de2">1022</span></span>1023 2592 <span class="xtra li2"><span class="de2">1024</span></span>1025 2593 <span class="xtra li2"><span class="de2">1026</span></span>1027 2594 <span class="xtra li2"><span class="de2">1028</span></span>1029 2595 <span class="xtra li2"><span class="de2">1030</span></span>1031 2596 <span class="xtra li2"><span class="de2">1032</span></span>1033 2597 <span class="xtra li2"><span class="de2">1034</span></span>1035 2598 <span class="xtra li2"><span class="de2">1036</span></span>1037 2599 <span class="xtra li2"><span class="de2">1038</span></span>1039 2600 <span class="xtra li2"><span class="de2">1040</span></span>1041 2601 <span class="xtra li2"><span class="de2">1042</span></span>1043 2602 <span class="xtra li2"><span class="de2">1044</span></span>1045 2603 <span class="xtra li2"><span class="de2">1046</span></span>1047 2604 <span class="xtra li2"><span class="de2">1048</span></span>1049 2605 <span class="xtra li2"><span class="de2">1050</span></span>1051 2606 <span class="xtra li2"><span class="de2">1052</span></span>1053 2607 <span class="xtra li2"><span class="de2">1054</span></span>1055 2608 <span class="xtra li2"><span class="de2">1056</span></span>1057 2609 <span class="xtra li2"><span class="de2">1058</span></span>1059 2610 <span class="xtra li2"><span class="de2">1060</span></span>1061 2611 <span class="xtra li2"><span class="de2">1062</span></span>1063 2612 <span class="xtra li2"><span class="de2">1064</span></span>1065 2613 <span class="xtra li2"><span class="de2">1066</span></span>1067 2614 <span class="xtra li2"><span class="de2">1068</span></span>1069 2615 <span class="xtra li2"><span class="de2">1070</span></span>1071 2616 <span class="xtra li2"><span class="de2">1072</span></span>1073 2617 <span class="xtra li2"><span class="de2">1074</span></span>1075 2618 <span class="xtra li2"><span class="de2">1076</span></span>1077 2619 <span class="xtra li2"><span class="de2">1078</span></span>1079 2620 <span class="xtra li2"><span class="de2">1080</span></span>1081 2621 <span class="xtra li2"><span class="de2">1082</span></span>1083 2622 <span class="xtra li2"><span class="de2">1084</span></span>1085 2623 <span class="xtra li2"><span class="de2">1086</span></span>1087 2624 <span class="xtra li2"><span class="de2">1088</span></span>1089 2625 <span class="xtra li2"><span class="de2">1090</span></span>1091 2626 <span class="xtra li2"><span class="de2">1092</span></span>1093 2627 <span class="xtra li2"><span class="de2">1094</span></span>1095 2628 <span class="xtra li2"><span class="de2">1096</span></span>1097 2629 <span class="xtra li2"><span class="de2">1098</span></span>1099 2630 <span class="xtra li2"><span class="de2">1100</span></span>1101 2631 <span class="xtra li2"><span class="de2">1102</span></span>1103 2632 <span class="xtra li2"><span class="de2">1104</span></span>1105 2633 <span class="xtra li2"><span class="de2">1106</span></span>1107 2634 <span class="xtra li2"><span class="de2">1108</span></span>1109 2635 <span class="xtra li2"><span class="de2">1110</span></span>1111 2636 <span class="xtra li2"><span class="de2">1112</span></span>1113 2637 <span class="xtra li2"><span class="de2">1114</span></span>1115 2638 <span class="xtra li2"><span class="de2">1116</span></span>1117 2639 </pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span> 2640 <span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * php.php</span> 2641 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * --------</span></span></span><span class="coMULTI"> * Author: Nigel McNie ([email protected])</span> 2642 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)</span></span></span><span class="coMULTI"> * Release Version: 1.0.8.10</span> 2643 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: 2004/06/20</span></span></span><span class="coMULTI"> *</span> 2644 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * PHP language file for GeSHi.</span></span></span><span class="coMULTI"> *</span> 2645 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span> 2646 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2008/05/23 (1.0.7.22)</span></span></span><span class="coMULTI"> * - Added description of extra language features (SF#1970248)</span> 2647 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/11/25 (1.0.3)</span></span></span><span class="coMULTI"> * - Added support for multiple object splitters</span> 2648 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * - Fixed &new problem</span></span></span><span class="coMULTI"> * 2004/10/27 (1.0.2)</span> 2649 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * - Added URL support</span></span></span><span class="coMULTI"> * - Added extra constants</span> 2650 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/08/05 (1.0.1)</span></span></span><span class="coMULTI"> * - Added support for symbols</span> 2651 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * 2004/07/14 (1.0.0)</span></span></span><span class="coMULTI"> * - First Release</span> 2652 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated 2004/07/14)</span> 2653 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * -------------------------</span></span></span><span class="coMULTI"> * * Make sure the last few function I may have missed</span> 2654 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * (like eval()) are included for highlighting</span></span></span><span class="coMULTI"> * * Split to several files - php4, php5 etc</span> 2655 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span> 2656 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span> 2657 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * GeSHi is free software; you can redistribute it and/or modify</span> 2658 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI"> * the Free Software Foundation; either version 2 of the License, or</span> 2659 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span> 2660 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 2661 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></span></span><span class="coMULTI"> * GNU General Public License for more details.</span> 2662 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * You should have received a copy of the GNU General Public License</span> 2663 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span> 2664 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span> 2665 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$language_data</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 2666 <span class="xtra li2"><span class="de2"> <span class="st_h">'LANG_NAME'</span> <span class="sy0">=></span> <span class="st_h">'PHP'</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'#'</span><span class="br0">)</span><span class="sy0">,</span> 2667 <span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'/*'</span> <span class="sy0">=></span> <span class="st_h">'*/'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENT_REGEXP'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 2668 <span class="xtra li2"><span class="de2"> <span class="co1">//Heredoc and Nowdoc syntax</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'</span><span class="sy0">,</span> 2669 <span class="xtra li2"><span class="de2"> <span class="co1">// phpdoc comments</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'#/\*\*(?![\*\/]).*\*/#sU'</span><span class="sy0">,</span> 2670 <span class="xtra li2"><span class="de2"> <span class="co1">// Advanced # handling</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"/#.*?(?:(?=\?\>)|^)/smi"</span> 2671 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=></span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span> 2672 <span class="xtra li2"><span class="de2"> <span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'"'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 2673 <span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_REGEXP'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="co1">//Simple Single Char Escapes</span> 2674 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>[nfrtv<span class="es1">\$</span><span class="es1">\"</span><span class="es1">\n</span><span class="es1">\\</span><span class="es1">\\</span>]#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Hexadecimal Char Specs</span> 2675 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>x[\da-fA-F]{1,2}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Octal Char Specs</span> 2676 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span><span class="es1">\\</span>[0-7]{1,3}#"</span><span class="sy0">,</span></span></span> <span class="co1">//String Parsing of Variable Names</span> 2677 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\\</span>$[a-z0-9_]+(?:<span class="es1">\\</span>[[a-z0-9_]+<span class="es1">\\</span>]|->[a-z0-9_]+)?|(?:<span class="es1">\\</span>{<span class="es1">\\</span>$|<span class="es1">\\</span>$<span class="es1">\\</span>{)[a-z0-9_]+(?:<span class="es1">\\</span>[('?)[a-z0-9_]*<span class="es1">\\</span>1<span class="es1">\\</span>]|->[a-z0-9_]+)*<span class="es1">\\</span>}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Experimental extension supporting cascaded {${$var}} syntax</span> 2678 <span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"#<span class="es1">\$</span>[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{<span class="es1">\$</span>|<span class="es1">\$</span>\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*<span class="es1">\\</span>1\]|->[a-z0-9_]+)*\}|\{<span class="es1">\$</span>(?R)\}#i"</span><span class="sy0">,</span></span></span> <span class="co1">//Format String support in ""-Strings</span> 2679 <span class="xtra li2"><span class="de2"> <span class="nu0">6</span> <span class="sy0">=></span> <span class="st0">"#%(?:%|(?:\d+<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span><span class="es1">\$</span>)?<span class="es1">\\</span>+?(?:<span class="es2">\x20</span>|0|'.)?-?(?:\d+|<span class="es1">\\</span>*)?(?:\.\d+)?[bcdefFosuxX])#"</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 2680 <span class="xtra li2"><span class="de2"> <span class="st_h">'HARDQUOTE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st0">"'"</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'HARDESCAPE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st0">"<span class="es1">\\</span>"</span><span class="br0">)</span><span class="sy0">,</span> 2681 <span class="xtra li2"><span class="de2"> <span class="st_h">'HARDCHAR'</span> <span class="sy0">=></span> <span class="st0">"<span class="es1">\\</span>"</span><span class="sy0">,</span></span></span> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> 2682 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span></span></span> GESHI_NUMBER_FLT_SCI_ZERO<span class="sy0">,</span> 2683 <span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 2684 <span class="xtra li2"><span class="de2"> <span class="st_h">'as'</span><span class="sy0">,</span><span class="st_h">'break'</span><span class="sy0">,</span><span class="st_h">'case'</span><span class="sy0">,</span><span class="st_h">'continue'</span><span class="sy0">,</span><span class="st_h">'default'</span><span class="sy0">,</span><span class="st_h">'do'</span><span class="sy0">,</span><span class="st_h">'else'</span><span class="sy0">,</span><span class="st_h">'elseif'</span><span class="sy0">,</span></span></span> <span class="st_h">'endfor'</span><span class="sy0">,</span><span class="st_h">'endforeach'</span><span class="sy0">,</span><span class="st_h">'endif'</span><span class="sy0">,</span><span class="st_h">'endswitch'</span><span class="sy0">,</span><span class="st_h">'endwhile'</span><span class="sy0">,</span><span class="st_h">'for'</span><span class="sy0">,</span> 2685 <span class="xtra li2"><span class="de2"> <span class="st_h">'foreach'</span><span class="sy0">,</span><span class="st_h">'if'</span><span class="sy0">,</span><span class="st_h">'include'</span><span class="sy0">,</span><span class="st_h">'include_once'</span><span class="sy0">,</span><span class="st_h">'require'</span><span class="sy0">,</span><span class="st_h">'require_once'</span><span class="sy0">,</span></span></span> <span class="st_h">'return'</span><span class="sy0">,</span><span class="st_h">'switch'</span><span class="sy0">,</span><span class="st_h">'throw'</span><span class="sy0">,</span><span class="st_h">'while'</span><span class="sy0">,</span> 2686 <span class="xtra li2"><span class="de2"> </span></span> <span class="st_h">'echo'</span><span class="sy0">,</span><span class="st_h">'print'</span> 2687 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 2688 <span class="xtra li2"><span class="de2"> <span class="st_h">'&amp;new'</span><span class="sy0">,</span><span class="st_h">'&lt;/script&gt;'</span><span class="sy0">,</span><span class="st_h">'&lt;?php'</span><span class="sy0">,</span><span class="st_h">'&lt;script language'</span><span class="sy0">,</span></span></span> <span class="st_h">'abstract'</span><span class="sy0">,</span><span class="st_h">'class'</span><span class="sy0">,</span><span class="st_h">'const'</span><span class="sy0">,</span><span class="st_h">'declare'</span><span class="sy0">,</span><span class="st_h">'extends'</span><span class="sy0">,</span><span class="st_h">'function'</span><span class="sy0">,</span><span class="st_h">'global'</span><span class="sy0">,</span> 2689 <span class="xtra li2"><span class="de2"> <span class="st_h">'interface'</span><span class="sy0">,</span><span class="st_h">'namespace'</span><span class="sy0">,</span><span class="st_h">'new'</span><span class="sy0">,</span><span class="st_h">'private'</span><span class="sy0">,</span><span class="st_h">'protected'</span><span class="sy0">,</span><span class="st_h">'public'</span><span class="sy0">,</span><span class="st_h">'self'</span><span class="sy0">,</span></span></span> <span class="st_h">'use'</span><span class="sy0">,</span><span class="st_h">'var'</span> 2690 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 2691 <span class="xtra li2"><span class="de2"> <span class="st_h">'abs'</span><span class="sy0">,</span><span class="st_h">'acos'</span><span class="sy0">,</span><span class="st_h">'acosh'</span><span class="sy0">,</span><span class="st_h">'addcslashes'</span><span class="sy0">,</span><span class="st_h">'addslashes'</span><span class="sy0">,</span><span class="st_h">'aggregate'</span><span class="sy0">,</span></span></span> <span class="st_h">'aggregate_methods'</span><span class="sy0">,</span><span class="st_h">'aggregate_methods_by_list'</span><span class="sy0">,</span> 2692 <span class="xtra li2"><span class="de2"> <span class="st_h">'aggregate_methods_by_regexp'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties'</span><span class="sy0">,</span></span></span> <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> 2693 <span class="xtra li2"><span class="de2"> <span class="st_h">'aggregation_info'</span><span class="sy0">,</span><span class="st_h">'apache_child_terminate'</span><span class="sy0">,</span><span class="st_h">'apache_get_modules'</span><span class="sy0">,</span></span></span> <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> 2694 <span class="xtra li2"><span class="de2"> <span class="st_h">'apache_note'</span><span class="sy0">,</span><span class="st_h">'apache_request_headers'</span><span class="sy0">,</span><span class="st_h">'apache_response_headers'</span><span class="sy0">,</span></span></span> <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> 2695 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_combine'</span><span class="sy0">,</span><span class="st_h">'array_count_values'</span><span class="sy0">,</span><span class="st_h">'array_diff'</span><span class="sy0">,</span></span></span> <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> 2696 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_diff_ukey'</span><span class="sy0">,</span><span class="st_h">'array_fill'</span><span class="sy0">,</span><span class="st_h">'array_fill_keys'</span><span class="sy0">,</span><span class="st_h">'array_filter'</span><span class="sy0">,</span></span></span> <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> 2697 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_intersect_key'</span><span class="sy0">,</span><span class="st_h">'array_intersect_uassoc'</span><span class="sy0">,</span></span></span> <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> 2698 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_merge'</span><span class="sy0">,</span><span class="st_h">'array_merge_recursive'</span><span class="sy0">,</span><span class="st_h">'array_multisort'</span><span class="sy0">,</span><span class="st_h">'array_pad'</span><span class="sy0">,</span></span></span> <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> 2699 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_reduce'</span><span class="sy0">,</span><span class="st_h">'array_reverse'</span><span class="sy0">,</span><span class="st_h">'array_search'</span><span class="sy0">,</span><span class="st_h">'array_shift'</span><span class="sy0">,</span></span></span> <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> 2700 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_udiff_assoc'</span><span class="sy0">,</span><span class="st_h">'array_udiff_uassoc'</span><span class="sy0">,</span><span class="st_h">'array_uintersect'</span><span class="sy0">,</span></span></span> <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> 2701 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_unshift'</span><span class="sy0">,</span><span class="st_h">'array_values'</span><span class="sy0">,</span><span class="st_h">'array_walk'</span><span class="sy0">,</span><span class="st_h">'array_walk_recursive'</span><span class="sy0">,</span></span></span> <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> 2702 <span class="xtra li2"><span class="de2"> <span class="st_h">'atan2'</span><span class="sy0">,</span><span class="st_h">'atanh'</span><span class="sy0">,</span><span class="st_h">'base_convert'</span><span class="sy0">,</span><span class="st_h">'base64_decode'</span><span class="sy0">,</span><span class="st_h">'base64_encode'</span><span class="sy0">,</span></span></span> <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> 2703 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_load'</span><span class="sy0">,</span><span class="st_h">'bcompiler_load_exe'</span><span class="sy0">,</span><span class="st_h">'bcompiler_parse_class'</span><span class="sy0">,</span></span></span> <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> 2704 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_exe_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_write_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_function'</span><span class="sy0">,</span> 2705 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_functions_from_file'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_header'</span><span class="sy0">,</span></span></span> <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> 2706 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcsqrt'</span><span class="sy0">,</span><span class="st_h">'bcsub'</span><span class="sy0">,</span><span class="st_h">'bin2hex'</span><span class="sy0">,</span><span class="st_h">'bindec'</span><span class="sy0">,</span><span class="st_h">'bindtextdomain'</span><span class="sy0">,</span></span></span> <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> 2707 <span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_excl'</span><span class="sy0">,</span><span class="st_h">'bitset_fill'</span><span class="sy0">,</span><span class="st_h">'bitset_from_array'</span><span class="sy0">,</span><span class="st_h">'bitset_from_hash'</span><span class="sy0">,</span></span></span> <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> 2708 <span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_intersection'</span><span class="sy0">,</span><span class="st_h">'bitset_invert'</span><span class="sy0">,</span><span class="st_h">'bitset_is_empty'</span><span class="sy0">,</span></span></span> <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> 2709 <span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_to_string'</span><span class="sy0">,</span><span class="st_h">'bitset_union'</span><span class="sy0">,</span><span class="st_h">'blenc_encrypt'</span><span class="sy0">,</span><span class="st_h">'bzclose'</span><span class="sy0">,</span></span></span> <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> 2710 <span class="xtra li2"><span class="de2"> <span class="st_h">'bzflush'</span><span class="sy0">,</span><span class="st_h">'bzopen'</span><span class="sy0">,</span><span class="st_h">'bzread'</span><span class="sy0">,</span><span class="st_h">'bzwrite'</span><span class="sy0">,</span><span class="st_h">'cal_days_in_month'</span><span class="sy0">,</span></span></span> <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> 2711 <span class="xtra li2"><span class="de2"> <span class="st_h">'call_user_func_array'</span><span class="sy0">,</span><span class="st_h">'call_user_method'</span><span class="sy0">,</span><span class="st_h">'call_user_method_array'</span><span class="sy0">,</span></span></span> <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> 2712 <span class="xtra li2"><span class="de2"> <span class="st_h">'chown'</span><span class="sy0">,</span><span class="st_h">'chr'</span><span class="sy0">,</span><span class="st_h">'chunk_split'</span><span class="sy0">,</span><span class="st_h">'class_exists'</span><span class="sy0">,</span><span class="st_h">'class_implements'</span><span class="sy0">,</span></span></span> <span class="st_h">'class_parents'</span><span class="sy0">,</span><span class="st_h">'classkit_aggregate_methods'</span><span class="sy0">,</span> 2713 <span class="xtra li2"><span class="de2"> <span class="st_h">'classkit_doc_comments'</span><span class="sy0">,</span><span class="st_h">'classkit_import'</span><span class="sy0">,</span><span class="st_h">'classkit_method_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'classkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'classkit_method_redefine'</span><span class="sy0">,</span> 2714 <span class="xtra li2"><span class="de2"> <span class="st_h">'classkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'classkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'clearstatcache'</span><span class="sy0">,</span></span></span> <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> 2715 <span class="xtra li2"><span class="de2"> <span class="st_h">'com_get_active_object'</span><span class="sy0">,</span><span class="st_h">'com_load_typelib'</span><span class="sy0">,</span><span class="st_h">'com_message_pump'</span><span class="sy0">,</span></span></span> <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> 2716 <span class="xtra li2"><span class="de2"> <span class="st_h">'connection_aborted'</span><span class="sy0">,</span><span class="st_h">'connection_status'</span><span class="sy0">,</span><span class="st_h">'constant'</span><span class="sy0">,</span></span></span> <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> 2717 <span class="xtra li2"><span class="de2"> <span class="st_h">'cos'</span><span class="sy0">,</span><span class="st_h">'cosh'</span><span class="sy0">,</span><span class="st_h">'count'</span><span class="sy0">,</span><span class="st_h">'count_chars'</span><span class="sy0">,</span><span class="st_h">'cpdf_add_annotation'</span><span class="sy0">,</span></span></span> <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> 2718 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_clip'</span><span class="sy0">,</span><span class="st_h">'cpdf_close'</span><span class="sy0">,</span><span class="st_h">'cpdf_closepath'</span><span class="sy0">,</span></span></span> <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> 2719 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_continue_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_curveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_end_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_fill'</span><span class="sy0">,</span></span></span> <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> 2720 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_global_set_document_limits'</span><span class="sy0">,</span><span class="st_h">'cpdf_import_jpeg'</span><span class="sy0">,</span><span class="st_h">'cpdf_lineto'</span><span class="sy0">,</span></span></span> <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> 2721 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_page_init'</span><span class="sy0">,</span><span class="st_h">'cpdf_rect'</span><span class="sy0">,</span><span class="st_h">'cpdf_restore'</span><span class="sy0">,</span><span class="st_h">'cpdf_rlineto'</span><span class="sy0">,</span></span></span> <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> 2722 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_save_to_file'</span><span class="sy0">,</span><span class="st_h">'cpdf_scale'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_action_url'</span><span class="sy0">,</span></span></span> <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> 2723 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_font'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_font_directories'</span><span class="sy0">,</span></span></span> <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> 2724 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_keywords'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_leading'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_page_animation'</span><span class="sy0">,</span></span></span> <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> 2725 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_text_rendering'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_rise'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_title'</span><span class="sy0">,</span></span></span> <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> 2726 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setdash'</span><span class="sy0">,</span><span class="st_h">'cpdf_setflat'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray_fill'</span><span class="sy0">,</span></span></span> <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> 2727 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setlinewidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_setmiterlimit'</span><span class="sy0">,</span><span class="st_h">'cpdf_setrgbcolor'</span><span class="sy0">,</span></span></span> <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> 2728 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_show_xy'</span><span class="sy0">,</span><span class="st_h">'cpdf_stringwidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_text'</span><span class="sy0">,</span></span></span> <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> 2729 <span class="xtra li2"><span class="de2"> <span class="st_h">'crack_getlastmessage'</span><span class="sy0">,</span><span class="st_h">'crack_opendict'</span><span class="sy0">,</span><span class="st_h">'crc32'</span><span class="sy0">,</span><span class="st_h">'create_function'</span><span class="sy0">,</span></span></span> <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> 2730 <span class="xtra li2"><span class="de2"> <span class="st_h">'ctype_graph'</span><span class="sy0">,</span><span class="st_h">'ctype_lower'</span><span class="sy0">,</span><span class="st_h">'ctype_print'</span><span class="sy0">,</span><span class="st_h">'ctype_punct'</span><span class="sy0">,</span></span></span> <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> 2731 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_copy_handle'</span><span class="sy0">,</span><span class="st_h">'curl_errno'</span><span class="sy0">,</span><span class="st_h">'curl_error'</span><span class="sy0">,</span><span class="st_h">'curl_exec'</span><span class="sy0">,</span></span></span> <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> 2732 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_multi_close'</span><span class="sy0">,</span><span class="st_h">'curl_multi_exec'</span><span class="sy0">,</span><span class="st_h">'curl_multi_getcontent'</span><span class="sy0">,</span></span></span> <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> 2733 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_multi_select'</span><span class="sy0">,</span><span class="st_h">'curl_setopt'</span><span class="sy0">,</span><span class="st_h">'curl_setopt_array'</span><span class="sy0">,</span></span></span> <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> 2734 <span class="xtra li2"><span class="de2"> <span class="st_h">'cvsclient_login'</span><span class="sy0">,</span><span class="st_h">'cvsclient_retrieve'</span><span class="sy0">,</span><span class="st_h">'date'</span><span class="sy0">,</span><span class="st_h">'date_create'</span><span class="sy0">,</span></span></span> <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> 2735 <span class="xtra li2"><span class="de2"> <span class="st_h">'date_default_timezone_set'</span><span class="sy0">,</span><span class="st_h">'date_format'</span><span class="sy0">,</span><span class="st_h">'date_isodate_set'</span><span class="sy0">,</span></span></span> <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> 2736 <span class="xtra li2"><span class="de2"> <span class="st_h">'date_sunrise'</span><span class="sy0">,</span><span class="st_h">'date_sunset'</span><span class="sy0">,</span><span class="st_h">'date_time_set'</span><span class="sy0">,</span><span class="st_h">'date_timezone_get'</span><span class="sy0">,</span></span></span> <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> 2737 <span class="xtra li2"><span class="de2"> <span class="st_h">'dba_exists'</span><span class="sy0">,</span><span class="st_h">'dba_fetch'</span><span class="sy0">,</span><span class="st_h">'dba_firstkey'</span><span class="sy0">,</span><span class="st_h">'dba_handlers'</span><span class="sy0">,</span><span class="st_h">'dba_insert'</span><span class="sy0">,</span></span></span> <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> 2738 <span class="xtra li2"><span class="de2"> <span class="st_h">'dba_popen'</span><span class="sy0">,</span><span class="st_h">'dba_replace'</span><span class="sy0">,</span><span class="st_h">'dba_sync'</span><span class="sy0">,</span><span class="st_h">'dbase_add_record'</span><span class="sy0">,</span></span></span> <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> 2739 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_get_header_info'</span><span class="sy0">,</span><span class="st_h">'dbase_get_record'</span><span class="sy0">,</span></span></span> <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> 2740 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_open'</span><span class="sy0">,</span><span class="st_h">'dbase_pack'</span><span class="sy0">,</span><span class="st_h">'dbase_replace_record'</span><span class="sy0">,</span></span></span> <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> 2741 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_all_source_lines'</span><span class="sy0">,</span><span class="st_h">'dbg_get_context_name'</span><span class="sy0">,</span></span></span> <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> 2742 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_source_context'</span><span class="sy0">,</span><span class="st_h">'dblist'</span><span class="sy0">,</span><span class="st_h">'dbmclose'</span><span class="sy0">,</span><span class="st_h">'dbmdelete'</span><span class="sy0">,</span></span></span> <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> 2743 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbmopen'</span><span class="sy0">,</span><span class="st_h">'dbmreplace'</span><span class="sy0">,</span><span class="st_h">'dbx_close'</span><span class="sy0">,</span><span class="st_h">'dbx_compare'</span><span class="sy0">,</span><span class="st_h">'dbx_connect'</span><span class="sy0">,</span></span></span> <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> 2744 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbx_sort'</span><span class="sy0">,</span><span class="st_h">'dcgettext'</span><span class="sy0">,</span><span class="st_h">'dcngettext'</span><span class="sy0">,</span><span class="st_h">'deaggregate'</span><span class="sy0">,</span><span class="st_h">'debug_backtrace'</span><span class="sy0">,</span></span></span> <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> 2745 <span class="xtra li2"><span class="de2"> <span class="st_h">'defined'</span><span class="sy0">,</span><span class="st_h">'define_syslog_variables'</span><span class="sy0">,</span><span class="st_h">'deg2rad'</span><span class="sy0">,</span><span class="st_h">'dgettext'</span><span class="sy0">,</span><span class="st_h">'die'</span><span class="sy0">,</span></span></span> <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> 2746 <span class="xtra li2"><span class="de2"> <span class="st_h">'dir'</span><span class="sy0">,</span><span class="st_h">'dirname'</span><span class="sy0">,</span><span class="st_h">'disk_free_space'</span><span class="sy0">,</span><span class="st_h">'disk_total_space'</span><span class="sy0">,</span></span></span> <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> 2747 <span class="xtra li2"><span class="de2"> <span class="st_h">'docblock_tokenize'</span><span class="sy0">,</span><span class="st_h">'dom_import_simplexml'</span><span class="sy0">,</span><span class="st_h">'domxml_add_root'</span><span class="sy0">,</span></span></span> <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> 2748 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_doc_document_element'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_get_element_by_id'</span><span class="sy0">,</span></span></span> <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> 2749 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_doc_set_root'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_validate'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_xinclude'</span><span class="sy0">,</span></span></span> <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> 2750 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_dumpmem'</span><span class="sy0">,</span><span class="st_h">'domxml_elem_get_attribute'</span><span class="sy0">,</span></span></span> <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> 2751 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_html_dump_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_new_doc'</span><span class="sy0">,</span></span></span> <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> 2752 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_node_children'</span><span class="sy0">,</span></span></span> <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> 2753 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_node_set_content'</span><span class="sy0">,</span></span></span> <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> 2754 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_open_file'</span><span class="sy0">,</span><span class="st_h">'domxml_open_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_parser'</span><span class="sy0">,</span></span></span> <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> 2755 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_characters'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_comment'</span><span class="sy0">,</span></span></span> <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> 2756 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_end_element'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_entity_reference'</span><span class="sy0">,</span></span></span> <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> 2757 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_processing_instruction'</span><span class="sy0">,</span></span></span> <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> 2758 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_root'</span><span class="sy0">,</span><span class="st_h">'domxml_set_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_setattr'</span><span class="sy0">,</span></span></span> <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> 2759 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_version'</span><span class="sy0">,</span><span class="st_h">'domxml_xmltree'</span><span class="sy0">,</span><span class="st_h">'doubleval'</span><span class="sy0">,</span><span class="st_h">'each'</span><span class="sy0">,</span><span class="st_h">'easter_date'</span><span class="sy0">,</span></span></span> <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> 2760 <span class="xtra li2"><span class="de2"> <span class="st_h">'eregi_replace'</span><span class="sy0">,</span><span class="st_h">'error_get_last'</span><span class="sy0">,</span><span class="st_h">'error_log'</span><span class="sy0">,</span><span class="st_h">'error_reporting'</span><span class="sy0">,</span></span></span> <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> 2761 <span class="xtra li2"><span class="de2"> <span class="st_h">'event_dispatch'</span><span class="sy0">,</span><span class="st_h">'event_free'</span><span class="sy0">,</span><span class="st_h">'event_handle_signal'</span><span class="sy0">,</span></span></span> <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> 2762 <span class="xtra li2"><span class="de2"> <span class="st_h">'event_priority_set'</span><span class="sy0">,</span><span class="st_h">'event_schedule'</span><span class="sy0">,</span><span class="st_h">'event_set'</span><span class="sy0">,</span><span class="st_h">'event_timeout'</span><span class="sy0">,</span></span></span> <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> 2763 <span class="xtra li2"><span class="de2"> <span class="st_h">'exif_thumbnail'</span><span class="sy0">,</span><span class="st_h">'exit'</span><span class="sy0">,</span><span class="st_h">'exp'</span><span class="sy0">,</span><span class="st_h">'explode'</span><span class="sy0">,</span><span class="st_h">'expm1'</span><span class="sy0">,</span><span class="st_h">'extension_loaded'</span><span class="sy0">,</span></span></span> <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> 2764 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_backup'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_add'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_cancel'</span><span class="sy0">,</span></span></span> <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> 2765 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_blob_get'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_import'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_info'</span><span class="sy0">,</span></span></span> <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> 2766 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_connect'</span><span class="sy0">,</span><span class="st_h">'fbird_db_info'</span><span class="sy0">,</span><span class="st_h">'fbird_delete_user'</span><span class="sy0">,</span><span class="st_h">'fbird_drop_db'</span><span class="sy0">,</span></span></span> <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> 2767 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_fetch_object'</span><span class="sy0">,</span><span class="st_h">'fbird_fetch_row'</span><span class="sy0">,</span><span class="st_h">'fbird_field_info'</span><span class="sy0">,</span></span></span> <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> 2768 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_gen_id'</span><span class="sy0">,</span><span class="st_h">'fbird_maintain_db'</span><span class="sy0">,</span><span class="st_h">'fbird_modify_user'</span><span class="sy0">,</span></span></span> <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> 2769 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_param_info'</span><span class="sy0">,</span><span class="st_h">'fbird_pconnect'</span><span class="sy0">,</span><span class="st_h">'fbird_prepare'</span><span class="sy0">,</span><span class="st_h">'fbird_query'</span><span class="sy0">,</span></span></span> <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> 2770 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_server_info'</span><span class="sy0">,</span><span class="st_h">'fbird_service_attach'</span><span class="sy0">,</span><span class="st_h">'fbird_service_detach'</span><span class="sy0">,</span></span></span> <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> 2771 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_add_doc_javascript'</span><span class="sy0">,</span><span class="st_h">'fdf_add_template'</span><span class="sy0">,</span><span class="st_h">'fdf_close'</span><span class="sy0">,</span></span></span> <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> 2772 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_get_attachment'</span><span class="sy0">,</span><span class="st_h">'fdf_get_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_get_file'</span><span class="sy0">,</span></span></span> <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> 2773 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_get_version'</span><span class="sy0">,</span><span class="st_h">'fdf_header'</span><span class="sy0">,</span><span class="st_h">'fdf_next_field_name'</span><span class="sy0">,</span><span class="st_h">'fdf_open'</span><span class="sy0">,</span></span></span> <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> 2774 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_ap'</span><span class="sy0">,</span><span class="st_h">'fdf_set_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_set_file'</span><span class="sy0">,</span><span class="st_h">'fdf_set_flags'</span><span class="sy0">,</span></span></span> <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> 2775 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_opt'</span><span class="sy0">,</span><span class="st_h">'fdf_set_status'</span><span class="sy0">,</span><span class="st_h">'fdf_set_submit_form_action'</span><span class="sy0">,</span></span></span> <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> 2776 <span class="xtra li2"><span class="de2"> <span class="st_h">'fflush'</span><span class="sy0">,</span><span class="st_h">'fgetc'</span><span class="sy0">,</span><span class="st_h">'fgetcsv'</span><span class="sy0">,</span><span class="st_h">'fgets'</span><span class="sy0">,</span><span class="st_h">'fgetss'</span><span class="sy0">,</span><span class="st_h">'file'</span><span class="sy0">,</span><span class="st_h">'file_exists'</span><span class="sy0">,</span></span></span> <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> 2777 <span class="xtra li2"><span class="de2"> <span class="st_h">'filegroup'</span><span class="sy0">,</span><span class="st_h">'fileinode'</span><span class="sy0">,</span><span class="st_h">'filemtime'</span><span class="sy0">,</span><span class="st_h">'fileowner'</span><span class="sy0">,</span><span class="st_h">'fileperms'</span><span class="sy0">,</span></span></span> <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> 2778 <span class="xtra li2"><span class="de2"> <span class="st_h">'filepro_fieldtype'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldwidth'</span><span class="sy0">,</span><span class="st_h">'filepro_retrieve'</span><span class="sy0">,</span></span></span> <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> 2779 <span class="xtra li2"><span class="de2"> <span class="st_h">'filter_id'</span><span class="sy0">,</span><span class="st_h">'filter_input'</span><span class="sy0">,</span><span class="st_h">'filter_input_array'</span><span class="sy0">,</span><span class="st_h">'filter_list'</span><span class="sy0">,</span></span></span> <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> 2780 <span class="xtra li2"><span class="de2"> <span class="st_h">'finfo_file'</span><span class="sy0">,</span><span class="st_h">'finfo_open'</span><span class="sy0">,</span><span class="st_h">'finfo_set_flags'</span><span class="sy0">,</span><span class="st_h">'floatval'</span><span class="sy0">,</span><span class="st_h">'flock'</span><span class="sy0">,</span></span></span> <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> 2781 <span class="xtra li2"><span class="de2"> <span class="st_h">'fputcsv'</span><span class="sy0">,</span><span class="st_h">'fputs'</span><span class="sy0">,</span><span class="st_h">'fread'</span><span class="sy0">,</span><span class="st_h">'frenchtojd'</span><span class="sy0">,</span><span class="st_h">'fribidi_charset_info'</span><span class="sy0">,</span></span></span> <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> 2782 <span class="xtra li2"><span class="de2"> <span class="st_h">'fsockopen'</span><span class="sy0">,</span><span class="st_h">'fstat'</span><span class="sy0">,</span><span class="st_h">'ftell'</span><span class="sy0">,</span><span class="st_h">'ftok'</span><span class="sy0">,</span><span class="st_h">'ftp_alloc'</span><span class="sy0">,</span><span class="st_h">'ftp_cdup'</span><span class="sy0">,</span></span></span> <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> 2783 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_exec'</span><span class="sy0">,</span><span class="st_h">'ftp_fget'</span><span class="sy0">,</span><span class="st_h">'ftp_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_get'</span><span class="sy0">,</span><span class="st_h">'ftp_get_option'</span><span class="sy0">,</span></span></span> <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> 2784 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_nb_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_get'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_put'</span><span class="sy0">,</span><span class="st_h">'ftp_nlist'</span><span class="sy0">,</span><span class="st_h">'ftp_pasv'</span><span class="sy0">,</span></span></span> <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> 2785 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_rmdir'</span><span class="sy0">,</span><span class="st_h">'ftp_set_option'</span><span class="sy0">,</span><span class="st_h">'ftp_site'</span><span class="sy0">,</span><span class="st_h">'ftp_size'</span><span class="sy0">,</span></span></span> <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> 2786 <span class="xtra li2"><span class="de2"> <span class="st_h">'func_get_arg'</span><span class="sy0">,</span><span class="st_h">'func_get_args'</span><span class="sy0">,</span><span class="st_h">'func_num_args'</span><span class="sy0">,</span><span class="st_h">'fwrite'</span><span class="sy0">,</span><span class="st_h">'gd_info'</span><span class="sy0">,</span></span></span> <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> 2787 <span class="xtra li2"><span class="de2"> <span class="st_h">'gethostbyname'</span><span class="sy0">,</span><span class="st_h">'gethostbynamel'</span><span class="sy0">,</span><span class="st_h">'getimagesize'</span><span class="sy0">,</span><span class="st_h">'getlastmod'</span><span class="sy0">,</span></span></span> <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> 2788 <span class="xtra li2"><span class="de2"> <span class="st_h">'getprotobyname'</span><span class="sy0">,</span><span class="st_h">'getprotobynumber'</span><span class="sy0">,</span><span class="st_h">'getrandmax'</span><span class="sy0">,</span><span class="st_h">'getrusage'</span><span class="sy0">,</span></span></span> <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> 2789 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_browser'</span><span class="sy0">,</span><span class="st_h">'get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'get_class'</span><span class="sy0">,</span><span class="st_h">'get_class_methods'</span><span class="sy0">,</span></span></span> <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> 2790 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_defined_constants'</span><span class="sy0">,</span><span class="st_h">'get_defined_functions'</span><span class="sy0">,</span><span class="st_h">'get_defined_vars'</span><span class="sy0">,</span></span></span> <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> 2791 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_included_files'</span><span class="sy0">,</span><span class="st_h">'get_include_path'</span><span class="sy0">,</span><span class="st_h">'get_loaded_extensions'</span><span class="sy0">,</span></span></span> <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> 2792 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_object_vars'</span><span class="sy0">,</span><span class="st_h">'get_parent_class'</span><span class="sy0">,</span><span class="st_h">'get_required_files'</span><span class="sy0">,</span></span></span> <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> 2793 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_and'</span><span class="sy0">,</span><span class="st_h">'gmp_clrbit'</span><span class="sy0">,</span><span class="st_h">'gmp_cmp'</span><span class="sy0">,</span><span class="st_h">'gmp_com'</span><span class="sy0">,</span><span class="st_h">'gmp_div'</span><span class="sy0">,</span><span class="st_h">'gmp_div_q'</span><span class="sy0">,</span></span></span> <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> 2794 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_gcdext'</span><span class="sy0">,</span><span class="st_h">'gmp_hamdist'</span><span class="sy0">,</span><span class="st_h">'gmp_init'</span><span class="sy0">,</span><span class="st_h">'gmp_intval'</span><span class="sy0">,</span><span class="st_h">'gmp_invert'</span><span class="sy0">,</span></span></span> <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> 2795 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_nextprime'</span><span class="sy0">,</span><span class="st_h">'gmp_or'</span><span class="sy0">,</span><span class="st_h">'gmp_perfect_square'</span><span class="sy0">,</span><span class="st_h">'gmp_popcount'</span><span class="sy0">,</span></span></span> <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> 2796 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_scan1'</span><span class="sy0">,</span><span class="st_h">'gmp_setbit'</span><span class="sy0">,</span><span class="st_h">'gmp_sign'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrt'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrtrem'</span><span class="sy0">,</span></span></span> <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> 2797 <span class="xtra li2"><span class="de2"> <span class="st_h">'gregoriantojd'</span><span class="sy0">,</span><span class="st_h">'gzclose'</span><span class="sy0">,</span><span class="st_h">'gzcompress'</span><span class="sy0">,</span><span class="st_h">'gzdeflate'</span><span class="sy0">,</span><span class="st_h">'gzencode'</span><span class="sy0">,</span></span></span> <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> 2798 <span class="xtra li2"><span class="de2"> <span class="st_h">'gzpassthru'</span><span class="sy0">,</span><span class="st_h">'gzputs'</span><span class="sy0">,</span><span class="st_h">'gzread'</span><span class="sy0">,</span><span class="st_h">'gzrewind'</span><span class="sy0">,</span><span class="st_h">'gzseek'</span><span class="sy0">,</span><span class="st_h">'gztell'</span><span class="sy0">,</span></span></span> <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> 2799 <span class="xtra li2"><span class="de2"> <span class="st_h">'hash_final'</span><span class="sy0">,</span><span class="st_h">'hash_hmac'</span><span class="sy0">,</span><span class="st_h">'hash_hmac_file'</span><span class="sy0">,</span><span class="st_h">'hash_init'</span><span class="sy0">,</span><span class="st_h">'hash_update'</span><span class="sy0">,</span></span></span> <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> 2800 <span class="xtra li2"><span class="de2"> <span class="st_h">'headers_sent'</span><span class="sy0">,</span><span class="st_h">'hebrev'</span><span class="sy0">,</span><span class="st_h">'hebrevc'</span><span class="sy0">,</span><span class="st_h">'hexdec'</span><span class="sy0">,</span><span class="st_h">'highlight_file'</span><span class="sy0">,</span></span></span> <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> 2801 <span class="xtra li2"><span class="de2"> <span class="st_h">'htmlentities'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars_decode'</span><span class="sy0">,</span></span></span> <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> 2802 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_build_url'</span><span class="sy0">,</span><span class="st_h">'http_cache_etag'</span><span class="sy0">,</span><span class="st_h">'http_cache_last_modified'</span><span class="sy0">,</span></span></span> <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> 2803 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_get_request_body'</span><span class="sy0">,</span><span class="st_h">'http_get_request_body_stream'</span><span class="sy0">,</span></span></span> <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> 2804 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_match_etag'</span><span class="sy0">,</span><span class="st_h">'http_match_modified'</span><span class="sy0">,</span><span class="st_h">'http_match_request_header'</span><span class="sy0">,</span></span></span> <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> 2805 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_negotiate_language'</span><span class="sy0">,</span><span class="st_h">'http_parse_cookie'</span><span class="sy0">,</span><span class="st_h">'http_parse_headers'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_parse_message'</span><span class="sy0">,</span><span class="st_h">'http_parse_params'</span><span class="sy0">,</span> 2806 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_persistent_handles_clean'</span><span class="sy0">,</span><span class="st_h">'http_persistent_handles_count'</span><span class="sy0">,</span></span></span> <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> 2807 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_put_data'</span><span class="sy0">,</span><span class="st_h">'http_put_file'</span><span class="sy0">,</span><span class="st_h">'http_put_stream'</span><span class="sy0">,</span><span class="st_h">'http_redirect'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_request'</span><span class="sy0">,</span><span class="st_h">'http_request_body_encode'</span><span class="sy0">,</span> 2808 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_request_method_exists'</span><span class="sy0">,</span><span class="st_h">'http_request_method_name'</span><span class="sy0">,</span></span></span> <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> 2809 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_send_content_disposition'</span><span class="sy0">,</span><span class="st_h">'http_send_content_type'</span><span class="sy0">,</span></span></span> <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> 2810 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_send_status'</span><span class="sy0">,</span><span class="st_h">'http_send_stream'</span><span class="sy0">,</span><span class="st_h">'http_support'</span><span class="sy0">,</span></span></span> <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> 2811 <span class="xtra li2"><span class="de2"> <span class="st_h">'i18n_http_input'</span><span class="sy0">,</span><span class="st_h">'i18n_http_output'</span><span class="sy0">,</span><span class="st_h">'i18n_internal_encoding'</span><span class="sy0">,</span></span></span> <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> 2812 <span class="xtra li2"><span class="de2"> <span class="st_h">'i18n_mime_header_encode'</span><span class="sy0">,</span><span class="st_h">'ibase_add_user'</span><span class="sy0">,</span><span class="st_h">'ibase_affected_rows'</span><span class="sy0">,</span></span></span> <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> 2813 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_blob_close'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_create'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_echo'</span><span class="sy0">,</span></span></span> <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> 2814 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_blob_open'</span><span class="sy0">,</span><span class="st_h">'ibase_close'</span><span class="sy0">,</span><span class="st_h">'ibase_commit'</span><span class="sy0">,</span><span class="st_h">'ibase_commit_ret'</span><span class="sy0">,</span></span></span> <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> 2815 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_errcode'</span><span class="sy0">,</span><span class="st_h">'ibase_errmsg'</span><span class="sy0">,</span><span class="st_h">'ibase_execute'</span><span class="sy0">,</span><span class="st_h">'ibase_fetch_assoc'</span><span class="sy0">,</span></span></span> <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> 2816 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_free_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_free_query'</span><span class="sy0">,</span><span class="st_h">'ibase_free_result'</span><span class="sy0">,</span></span></span> <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> 2817 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_name_result'</span><span class="sy0">,</span><span class="st_h">'ibase_num_fields'</span><span class="sy0">,</span><span class="st_h">'ibase_num_params'</span><span class="sy0">,</span></span></span> <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> 2818 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_restore'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback_ret'</span><span class="sy0">,</span></span></span> <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> 2819 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_set_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_trans'</span><span class="sy0">,</span><span class="st_h">'ibase_wait_event'</span><span class="sy0">,</span><span class="st_h">'iconv'</span><span class="sy0">,</span></span></span> <span class="st_h">'iconv_get_encoding'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_decode'</span><span class="sy0">,</span> 2820 <span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_mime_decode_headers'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_encode'</span><span class="sy0">,</span></span></span> <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> 2821 <span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_substr'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_long_name'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_short_name'</span><span class="sy0">,</span></span></span> <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> 2822 <span class="xtra li2"><span class="de2"> <span class="st_h">'id3_get_tag'</span><span class="sy0">,</span><span class="st_h">'id3_get_version'</span><span class="sy0">,</span><span class="st_h">'id3_remove_tag'</span><span class="sy0">,</span><span class="st_h">'id3_set_tag'</span><span class="sy0">,</span></span></span> <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> 2823 <span class="xtra li2"><span class="de2"> <span class="st_h">'image_type_to_mime_type'</span><span class="sy0">,</span><span class="st_h">'image2wbmp'</span><span class="sy0">,</span><span class="st_h">'imagealphablending'</span><span class="sy0">,</span></span></span> <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> 2824 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorallocate'</span><span class="sy0">,</span><span class="st_h">'imagecolorallocatealpha'</span><span class="sy0">,</span><span class="st_h">'imagecolorat'</span><span class="sy0">,</span></span></span> <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> 2825 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorexact'</span><span class="sy0">,</span><span class="st_h">'imagecolorexactalpha'</span><span class="sy0">,</span><span class="st_h">'imagecolormatch'</span><span class="sy0">,</span></span></span> <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> 2826 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorsforindex'</span><span class="sy0">,</span><span class="st_h">'imagecolorstotal'</span><span class="sy0">,</span><span class="st_h">'imagecolortransparent'</span><span class="sy0">,</span></span></span> <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> 2827 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecopymergegray'</span><span class="sy0">,</span><span class="st_h">'imagecopyresampled'</span><span class="sy0">,</span><span class="st_h">'imagecopyresized'</span><span class="sy0">,</span></span></span> <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> 2828 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreatefromgd2part'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgif'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromjpeg'</span><span class="sy0">,</span></span></span> <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> 2829 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreatefromxbm'</span><span class="sy0">,</span><span class="st_h">'imagecreatetruecolor'</span><span class="sy0">,</span><span class="st_h">'imagedashedline'</span><span class="sy0">,</span></span></span> <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> 2830 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagefilledellipse'</span><span class="sy0">,</span><span class="st_h">'imagefilledpolygon'</span><span class="sy0">,</span><span class="st_h">'imagefilledrectangle'</span><span class="sy0">,</span></span></span> <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> 2831 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagefontwidth'</span><span class="sy0">,</span><span class="st_h">'imageftbbox'</span><span class="sy0">,</span><span class="st_h">'imagefttext'</span><span class="sy0">,</span><span class="st_h">'imagegammacorrect'</span><span class="sy0">,</span></span></span> <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> 2832 <span class="xtra li2"><span class="de2"> <span class="st_h">'imageinterlace'</span><span class="sy0">,</span><span class="st_h">'imageistruecolor'</span><span class="sy0">,</span><span class="st_h">'imagejpeg'</span><span class="sy0">,</span><span class="st_h">'imagelayereffect'</span><span class="sy0">,</span></span></span> <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> 2833 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagepolygon'</span><span class="sy0">,</span><span class="st_h">'imagepsbbox'</span><span class="sy0">,</span><span class="st_h">'imagepsencodefont'</span><span class="sy0">,</span></span></span> <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> 2834 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagepsslantfont'</span><span class="sy0">,</span><span class="st_h">'imagepstext'</span><span class="sy0">,</span><span class="st_h">'imagerectangle'</span><span class="sy0">,</span><span class="st_h">'imagerotate'</span><span class="sy0">,</span></span></span> <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> 2835 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagesetthickness'</span><span class="sy0">,</span><span class="st_h">'imagesettile'</span><span class="sy0">,</span><span class="st_h">'imagestring'</span><span class="sy0">,</span><span class="st_h">'imagestringup'</span><span class="sy0">,</span></span></span> <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> 2836 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagettftext'</span><span class="sy0">,</span><span class="st_h">'imagetypes'</span><span class="sy0">,</span><span class="st_h">'imagewbmp'</span><span class="sy0">,</span><span class="st_h">'imagexbm'</span><span class="sy0">,</span><span class="st_h">'imap_8bit'</span><span class="sy0">,</span></span></span> <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> 2837 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_bodystruct'</span><span class="sy0">,</span><span class="st_h">'imap_check'</span><span class="sy0">,</span><span class="st_h">'imap_clearflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_close'</span><span class="sy0">,</span></span></span> <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> 2838 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_deletemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_errors'</span><span class="sy0">,</span><span class="st_h">'imap_expunge'</span><span class="sy0">,</span></span></span> <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> 2839 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_fetchstructure'</span><span class="sy0">,</span><span class="st_h">'imap_fetchtext'</span><span class="sy0">,</span><span class="st_h">'imap_get_quota'</span><span class="sy0">,</span></span></span> <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> 2840 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_getsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_header'</span><span class="sy0">,</span><span class="st_h">'imap_headerinfo'</span><span class="sy0">,</span><span class="st_h">'imap_headers'</span><span class="sy0">,</span></span></span> <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> 2841 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_listsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_lsub'</span><span class="sy0">,</span><span class="st_h">'imap_mail'</span><span class="sy0">,</span><span class="st_h">'imap_mail_compose'</span><span class="sy0">,</span></span></span> <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> 2842 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_mime_header_decode'</span><span class="sy0">,</span><span class="st_h">'imap_msgno'</span><span class="sy0">,</span><span class="st_h">'imap_num_msg'</span><span class="sy0">,</span></span></span> <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> 2843 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_rename'</span><span class="sy0">,</span><span class="st_h">'imap_renamemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_reopen'</span><span class="sy0">,</span></span></span> <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> 2844 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_rfc822_write_address'</span><span class="sy0">,</span><span class="st_h">'imap_savebody'</span><span class="sy0">,</span><span class="st_h">'imap_scan'</span><span class="sy0">,</span></span></span> <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> 2845 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_setflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_sort'</span><span class="sy0">,</span><span class="st_h">'imap_status'</span><span class="sy0">,</span><span class="st_h">'imap_subscribe'</span><span class="sy0">,</span></span></span> <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> 2846 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_unsubscribe'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_decode'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_encode'</span><span class="sy0">,</span></span></span> <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> 2847 <span class="xtra li2"><span class="de2"> <span class="st_h">'ini_alter'</span><span class="sy0">,</span><span class="st_h">'ini_get'</span><span class="sy0">,</span><span class="st_h">'ini_get_all'</span><span class="sy0">,</span><span class="st_h">'ini_restore'</span><span class="sy0">,</span><span class="st_h">'ini_set'</span><span class="sy0">,</span></span></span> <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> 2848 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_array'</span><span class="sy0">,</span><span class="st_h">'is_bool'</span><span class="sy0">,</span><span class="st_h">'is_callable'</span><span class="sy0">,</span><span class="st_h">'is_dir'</span><span class="sy0">,</span><span class="st_h">'is_double'</span><span class="sy0">,</span></span></span> <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> 2849 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_int'</span><span class="sy0">,</span><span class="st_h">'is_integer'</span><span class="sy0">,</span><span class="st_h">'is_link'</span><span class="sy0">,</span><span class="st_h">'is_long'</span><span class="sy0">,</span><span class="st_h">'is_nan'</span><span class="sy0">,</span><span class="st_h">'is_null'</span><span class="sy0">,</span></span></span> <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> 2850 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_scalar'</span><span class="sy0">,</span><span class="st_h">'is_soap_fault'</span><span class="sy0">,</span><span class="st_h">'is_string'</span><span class="sy0">,</span><span class="st_h">'is_subclass_of'</span><span class="sy0">,</span></span></span> <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> 2851 <span class="xtra li2"><span class="de2"> <span class="st_h">'iterator_count'</span><span class="sy0">,</span><span class="st_h">'iterator_to_array'</span><span class="sy0">,</span><span class="st_h">'java_last_exception_clear'</span><span class="sy0">,</span></span></span> <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> 2852 <span class="xtra li2"><span class="de2"> <span class="st_h">'jdtogregorian'</span><span class="sy0">,</span><span class="st_h">'jdtojewish'</span><span class="sy0">,</span><span class="st_h">'jdtojulian'</span><span class="sy0">,</span><span class="st_h">'jdtounix'</span><span class="sy0">,</span><span class="st_h">'jewishtojd'</span><span class="sy0">,</span></span></span> <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> 2853 <span class="xtra li2"><span class="de2"> <span class="st_h">'key_exists'</span><span class="sy0">,</span><span class="st_h">'krsort'</span><span class="sy0">,</span><span class="st_h">'ksort'</span><span class="sy0">,</span><span class="st_h">'lcg_value'</span><span class="sy0">,</span><span class="st_h">'ldap_add'</span><span class="sy0">,</span><span class="st_h">'ldap_bind'</span><span class="sy0">,</span></span></span> <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> 2854 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_delete'</span><span class="sy0">,</span><span class="st_h">'ldap_dn2ufn'</span><span class="sy0">,</span><span class="st_h">'ldap_err2str'</span><span class="sy0">,</span><span class="st_h">'ldap_errno'</span><span class="sy0">,</span></span></span> <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> 2855 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_first_entry'</span><span class="sy0">,</span><span class="st_h">'ldap_first_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_free_result'</span><span class="sy0">,</span></span></span> <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> 2856 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_get_option'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values_len'</span><span class="sy0">,</span></span></span> <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> 2857 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_modify'</span><span class="sy0">,</span><span class="st_h">'ldap_next_attribute'</span><span class="sy0">,</span><span class="st_h">'ldap_next_entry'</span><span class="sy0">,</span></span></span> <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> 2858 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_read'</span><span class="sy0">,</span><span class="st_h">'ldap_rename'</span><span class="sy0">,</span><span class="st_h">'ldap_search'</span><span class="sy0">,</span><span class="st_h">'ldap_set_option'</span><span class="sy0">,</span></span></span> <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> 2859 <span class="xtra li2"><span class="de2"> <span class="st_h">'libxml_clear_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_last_error'</span><span class="sy0">,</span></span></span> <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> 2860 <span class="xtra li2"><span class="de2"> <span class="st_h">'linkinfo'</span><span class="sy0">,</span><span class="st_h">'list'</span><span class="sy0">,</span><span class="st_h">'localeconv'</span><span class="sy0">,</span><span class="st_h">'localtime'</span><span class="sy0">,</span><span class="st_h">'log'</span><span class="sy0">,</span><span class="st_h">'log1p'</span><span class="sy0">,</span><span class="st_h">'log10'</span><span class="sy0">,</span></span></span> <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> 2861 <span class="xtra li2"><span class="de2"> <span class="st_h">'lzf_optimized_for'</span><span class="sy0">,</span><span class="st_h">'magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'mail'</span><span class="sy0">,</span><span class="st_h">'max'</span><span class="sy0">,</span><span class="st_h">'mbereg'</span><span class="sy0">,</span></span></span> <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> 2862 <span class="xtra li2"><span class="de2"> <span class="st_h">'mbereg_search'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getpos'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getregs'</span><span class="sy0">,</span></span></span> <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> 2863 <span class="xtra li2"><span class="de2"> <span class="st_h">'mbereg_search_setpos'</span><span class="sy0">,</span><span class="st_h">'mbregex_encoding'</span><span class="sy0">,</span><span class="st_h">'mbsplit'</span><span class="sy0">,</span><span class="st_h">'mbstrcut'</span><span class="sy0">,</span></span></span> <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> 2864 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_convert_case'</span><span class="sy0">,</span><span class="st_h">'mb_convert_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_convert_kana'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_convert_variables'</span><span class="sy0">,</span><span class="st_h">'mb_decode_mimeheader'</span><span class="sy0">,</span> 2865 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_decode_numericentity'</span><span class="sy0">,</span><span class="st_h">'mb_detect_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_detect_order'</span><span class="sy0">,</span></span></span> <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> 2866 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_eregi'</span><span class="sy0">,</span><span class="st_h">'mb_eregi_replace'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_match'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_replace'</span><span class="sy0">,</span></span></span> <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> 2867 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_ereg_search_init'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_pos'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_regs'</span><span class="sy0">,</span></span></span> <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> 2868 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_http_output'</span><span class="sy0">,</span><span class="st_h">'mb_internal_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_language'</span><span class="sy0">,</span></span></span> <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> 2869 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_preferred_mime_name'</span><span class="sy0">,</span><span class="st_h">'mb_regex_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_regex_set_options'</span><span class="sy0">,</span></span></span> <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> 2870 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_stristr'</span><span class="sy0">,</span><span class="st_h">'mb_strlen'</span><span class="sy0">,</span><span class="st_h">'mb_strpos'</span><span class="sy0">,</span><span class="st_h">'mb_strrchr'</span><span class="sy0">,</span><span class="st_h">'mb_strrichr'</span><span class="sy0">,</span></span></span> <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> 2871 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_strtoupper'</span><span class="sy0">,</span><span class="st_h">'mb_strwidth'</span><span class="sy0">,</span><span class="st_h">'mb_substitute_character'</span><span class="sy0">,</span><span class="st_h">'mb_substr'</span><span class="sy0">,</span></span></span> <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> 2872 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_decrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_ecb'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_algorithms_name'</span><span class="sy0">,</span></span></span> <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> 2873 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_get_key_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_modes_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_get_supported_key_sizes'</span><span class="sy0">,</span> 2874 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_is_block_algorithm'</span><span class="sy0">,</span></span></span> <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> 2875 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_self_test'</span><span class="sy0">,</span><span class="st_h">'mcrypt_encrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic'</span><span class="sy0">,</span></span></span> <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> 2876 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_get_cipher_name'</span><span class="sy0">,</span></span></span> <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> 2877 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_list_modes'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_get_algo_block_size'</span><span class="sy0">,</span> 2878 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_get_algo_key_size'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_get_supported_key_sizes'</span><span class="sy0">,</span> 2879 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_is_block_algorithm'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_is_block_algorithm_mode'</span><span class="sy0">,</span> 2880 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_is_block_mode'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_open'</span><span class="sy0">,</span></span></span> <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> 2881 <span class="xtra li2"><span class="de2"> <span class="st_h">'mdecrypt_generic'</span><span class="sy0">,</span><span class="st_h">'memcache_add'</span><span class="sy0">,</span><span class="st_h">'memcache_add_server'</span><span class="sy0">,</span></span></span> <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> 2882 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_decrement'</span><span class="sy0">,</span><span class="st_h">'memcache_delete'</span><span class="sy0">,</span><span class="st_h">'memcache_flush'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_get'</span><span class="sy0">,</span><span class="st_h">'memcache_get_extended_stats'</span><span class="sy0">,</span> 2883 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_get_server_status'</span><span class="sy0">,</span><span class="st_h">'memcache_get_stats'</span><span class="sy0">,</span></span></span> <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> 2884 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_replace'</span><span class="sy0">,</span><span class="st_h">'memcache_set'</span><span class="sy0">,</span><span class="st_h">'memcache_set_compress_threshold'</span><span class="sy0">,</span></span></span> <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> 2885 <span class="xtra li2"><span class="de2"> <span class="st_h">'memory_get_usage'</span><span class="sy0">,</span><span class="st_h">'metaphone'</span><span class="sy0">,</span><span class="st_h">'mhash'</span><span class="sy0">,</span><span class="st_h">'mhash_count'</span><span class="sy0">,</span></span></span> <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> 2886 <span class="xtra li2"><span class="de2"> <span class="st_h">'method_exists'</span><span class="sy0">,</span><span class="st_h">'microtime'</span><span class="sy0">,</span><span class="st_h">'mime_content_type'</span><span class="sy0">,</span><span class="st_h">'min'</span><span class="sy0">,</span></span></span> <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> 2887 <span class="xtra li2"><span class="de2"> <span class="st_h">'ming_useconstants'</span><span class="sy0">,</span><span class="st_h">'ming_useswfversion'</span><span class="sy0">,</span><span class="st_h">'mkdir'</span><span class="sy0">,</span><span class="st_h">'mktime'</span><span class="sy0">,</span></span></span> <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> 2888 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_close'</span><span class="sy0">,</span><span class="st_h">'msql_connect'</span><span class="sy0">,</span><span class="st_h">'msql_create_db'</span><span class="sy0">,</span><span class="st_h">'msql_createdb'</span><span class="sy0">,</span></span></span> <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> 2889 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_dropdb'</span><span class="sy0">,</span><span class="st_h">'msql_error'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_field'</span><span class="sy0">,</span></span></span> <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> 2890 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_field_len'</span><span class="sy0">,</span><span class="st_h">'msql_field_name'</span><span class="sy0">,</span><span class="st_h">'msql_field_seek'</span><span class="sy0">,</span></span></span> <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> 2891 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_fieldlen'</span><span class="sy0">,</span><span class="st_h">'msql_fieldname'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtype'</span><span class="sy0">,</span></span></span> <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> 2892 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_list_fields'</span><span class="sy0">,</span><span class="st_h">'msql_list_tables'</span><span class="sy0">,</span><span class="st_h">'msql_listdbs'</span><span class="sy0">,</span></span></span> <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> 2893 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_num_rows'</span><span class="sy0">,</span><span class="st_h">'msql_numfields'</span><span class="sy0">,</span><span class="st_h">'msql_numrows'</span><span class="sy0">,</span><span class="st_h">'msql_pconnect'</span><span class="sy0">,</span></span></span> <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> 2894 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_selectdb'</span><span class="sy0">,</span><span class="st_h">'msql_tablename'</span><span class="sy0">,</span><span class="st_h">'mssql_bind'</span><span class="sy0">,</span><span class="st_h">'mssql_close'</span><span class="sy0">,</span></span></span> <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> 2895 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_batch'</span><span class="sy0">,</span></span></span> <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> 2896 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_field_length'</span><span class="sy0">,</span><span class="st_h">'mssql_field_name'</span><span class="sy0">,</span><span class="st_h">'mssql_field_seek'</span><span class="sy0">,</span></span></span> <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> 2897 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_get_last_message'</span><span class="sy0">,</span><span class="st_h">'mssql_guid_string'</span><span class="sy0">,</span><span class="st_h">'mssql_init'</span><span class="sy0">,</span></span></span> <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> 2898 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_next_result'</span><span class="sy0">,</span><span class="st_h">'mssql_num_fields'</span><span class="sy0">,</span><span class="st_h">'mssql_num_rows'</span><span class="sy0">,</span></span></span> <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> 2899 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_select_db'</span><span class="sy0">,</span><span class="st_h">'mt_getrandmax'</span><span class="sy0">,</span><span class="st_h">'mt_rand'</span><span class="sy0">,</span><span class="st_h">'mt_srand'</span><span class="sy0">,</span><span class="st_h">'mysql'</span><span class="sy0">,</span></span></span> <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> 2900 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_connect'</span><span class="sy0">,</span><span class="st_h">'mysql_createdb'</span><span class="sy0">,</span><span class="st_h">'mysql_create_db'</span><span class="sy0">,</span></span></span> <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> 2901 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_dropdb'</span><span class="sy0">,</span><span class="st_h">'mysql_drop_db'</span><span class="sy0">,</span><span class="st_h">'mysql_errno'</span><span class="sy0">,</span><span class="st_h">'mysql_error'</span><span class="sy0">,</span></span></span> <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> 2902 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_fetch_field'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_lengths'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_object'</span><span class="sy0">,</span></span></span> <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> 2903 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_fieldname'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtype'</span><span class="sy0">,</span></span></span> <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> 2904 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysql_field_table'</span><span class="sy0">,</span><span class="st_h">'mysql_field_type'</span><span class="sy0">,</span></span></span> <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> 2905 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_get_host_info'</span><span class="sy0">,</span><span class="st_h">'mysql_get_proto_info'</span><span class="sy0">,</span></span></span> <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> 2906 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_listdbs'</span><span class="sy0">,</span><span class="st_h">'mysql_listfields'</span><span class="sy0">,</span><span class="st_h">'mysql_listtables'</span><span class="sy0">,</span></span></span> <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> 2907 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_list_tables'</span><span class="sy0">,</span><span class="st_h">'mysql_numfields'</span><span class="sy0">,</span><span class="st_h">'mysql_numrows'</span><span class="sy0">,</span></span></span> <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> 2908 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_query'</span><span class="sy0">,</span><span class="st_h">'mysql_real_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysql_result'</span><span class="sy0">,</span></span></span> <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> 2909 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_tablename'</span><span class="sy0">,</span><span class="st_h">'mysql_table_name'</span><span class="sy0">,</span><span class="st_h">'mysql_thread_id'</span><span class="sy0">,</span></span></span> <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> 2910 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_bind_param'</span><span class="sy0">,</span><span class="st_h">'mysqli_bind_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_change_user'</span><span class="sy0">,</span></span></span> <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> 2911 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_commit'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect_errno'</span><span class="sy0">,</span></span></span> <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> 2912 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_disable_reads_from_master'</span><span class="sy0">,</span><span class="st_h">'mysqli_disable_rpl_parse'</span><span class="sy0">,</span></span></span> <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> 2913 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_embedded_server_start'</span><span class="sy0">,</span><span class="st_h">'mysqli_enable_reads_from_master'</span><span class="sy0">,</span></span></span> <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> 2914 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysqli_execute'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch'</span><span class="sy0">,</span></span></span> <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> 2915 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_fetch_field_direct'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_fields'</span><span class="sy0">,</span></span></span> <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> 2916 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_tell'</span><span class="sy0">,</span></span></span> <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> 2917 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_client_version'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_host_info'</span><span class="sy0">,</span></span></span> <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> 2918 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_server_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_server_version'</span><span class="sy0">,</span></span></span> <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> 2919 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_kill'</span><span class="sy0">,</span><span class="st_h">'mysqli_master_query'</span><span class="sy0">,</span></span></span> <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> 2920 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_num_fields'</span><span class="sy0">,</span><span class="st_h">'mysqli_num_rows'</span><span class="sy0">,</span><span class="st_h">'mysqli_options'</span><span class="sy0">,</span></span></span> <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> 2921 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_real_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_real_escape_string'</span><span class="sy0">,</span></span></span> <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> 2922 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_rpl_parse_enabled'</span><span class="sy0">,</span><span class="st_h">'mysqli_rpl_probe'</span><span class="sy0">,</span></span></span> <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> 2923 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_send_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_charset'</span><span class="sy0">,</span></span></span> <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> 2924 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_set_opt'</span><span class="sy0">,</span><span class="st_h">'mysqli_slave_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_sqlstate'</span><span class="sy0">,</span></span></span> <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> 2925 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_attr_get'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_attr_set'</span><span class="sy0">,</span></span></span> <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> 2926 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_close'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_errno'</span><span class="sy0">,</span></span></span> <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> 2927 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_free_result'</span><span class="sy0">,</span></span></span> <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> 2928 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_num_rows'</span><span class="sy0">,</span></span></span> <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> 2929 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_result_metadata'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_send_long_data'</span><span class="sy0">,</span></span></span> <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> 2930 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_store_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_safe'</span><span class="sy0">,</span></span></span> <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> 2931 <span class="xtra li2"><span class="de2"> <span class="st_h">'new_xmldoc'</span><span class="sy0">,</span><span class="st_h">'next'</span><span class="sy0">,</span><span class="st_h">'ngettext'</span><span class="sy0">,</span><span class="st_h">'nl2br'</span><span class="sy0">,</span><span class="st_h">'nl_langinfo'</span><span class="sy0">,</span></span></span> <span class="st_h">'ntuser_getdomaincontroller'</span><span class="sy0">,</span><span class="st_h">'ntuser_getusergroups'</span><span class="sy0">,</span> 2932 <span class="xtra li2"><span class="de2"> <span class="st_h">'ntuser_getuserinfo'</span><span class="sy0">,</span><span class="st_h">'ntuser_getuserlist'</span><span class="sy0">,</span><span class="st_h">'number_format'</span><span class="sy0">,</span></span></span> <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> 2933 <span class="xtra li2"><span class="de2"> <span class="st_h">'ob_etaghandler'</span><span class="sy0">,</span><span class="st_h">'ob_flush'</span><span class="sy0">,</span><span class="st_h">'ob_get_clean'</span><span class="sy0">,</span><span class="st_h">'ob_get_contents'</span><span class="sy0">,</span></span></span> <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> 2934 <span class="xtra li2"><span class="de2"> <span class="st_h">'ob_gzhandler'</span><span class="sy0">,</span><span class="st_h">'ob_iconv_handler'</span><span class="sy0">,</span><span class="st_h">'ob_implicit_flush'</span><span class="sy0">,</span></span></span> <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> 2935 <span class="xtra li2"><span class="de2"> <span class="st_h">'octdec'</span><span class="sy0">,</span><span class="st_h">'odbc_autocommit'</span><span class="sy0">,</span><span class="st_h">'odbc_binmode'</span><span class="sy0">,</span><span class="st_h">'odbc_close'</span><span class="sy0">,</span></span></span> <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> 2936 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_commit'</span><span class="sy0">,</span><span class="st_h">'odbc_connect'</span><span class="sy0">,</span><span class="st_h">'odbc_cursor'</span><span class="sy0">,</span><span class="st_h">'odbc_data_source'</span><span class="sy0">,</span></span></span> <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> 2937 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_fetch_array'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_into'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_object'</span><span class="sy0">,</span></span></span> <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> 2938 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_field_num'</span><span class="sy0">,</span><span class="st_h">'odbc_field_precision'</span><span class="sy0">,</span><span class="st_h">'odbc_field_scale'</span><span class="sy0">,</span></span></span> <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> 2939 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_gettypeinfo'</span><span class="sy0">,</span><span class="st_h">'odbc_longreadlen'</span><span class="sy0">,</span><span class="st_h">'odbc_next_result'</span><span class="sy0">,</span></span></span> <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> 2940 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_primarykeys'</span><span class="sy0">,</span><span class="st_h">'odbc_procedurecolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_procedures'</span><span class="sy0">,</span></span></span> <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> 2941 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_specialcolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_statistics'</span><span class="sy0">,</span><span class="st_h">'odbc_tableprivileges'</span><span class="sy0">,</span></span></span> <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> 2942 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_csr_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_get_public_key'</span><span class="sy0">,</span></span></span> <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> 2943 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_error_string'</span><span class="sy0">,</span><span class="st_h">'openssl_free_key'</span><span class="sy0">,</span><span class="st_h">'openssl_get_privatekey'</span><span class="sy0">,</span></span></span> <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> 2944 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkcs12_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs12_read'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkcs7_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_encrypt'</span><span class="sy0">,</span> 2945 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkcs7_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_export'</span><span class="sy0">,</span></span></span> <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> 2946 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkey_get_details'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_get_private'</span><span class="sy0">,</span></span></span> <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> 2947 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_private_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_private_encrypt'</span><span class="sy0">,</span></span></span> <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> 2948 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_checkpurpose'</span><span class="sy0">,</span></span></span> <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> 2949 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_x509_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_free'</span><span class="sy0">,</span></span></span> <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> 2950 <span class="xtra li2"><span class="de2"> <span class="st_h">'output_add_rewrite_var'</span><span class="sy0">,</span><span class="st_h">'output_reset_rewrite_vars'</span><span class="sy0">,</span><span class="st_h">'overload'</span><span class="sy0">,</span></span></span> <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> 2951 <span class="xtra li2"><span class="de2"> <span class="st_h">'parsekit_compile_file'</span><span class="sy0">,</span><span class="st_h">'parsekit_compile_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'parsekit_func_arginfo'</span><span class="sy0">,</span><span class="st_h">'parsekit_opcode_flags'</span><span class="sy0">,</span> 2952 <span class="xtra li2"><span class="de2"> <span class="st_h">'parsekit_opcode_name'</span><span class="sy0">,</span><span class="st_h">'passthru'</span><span class="sy0">,</span><span class="st_h">'pathinfo'</span><span class="sy0">,</span><span class="st_h">'pclose'</span><span class="sy0">,</span></span></span> <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> 2953 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_add_nameddest'</span><span class="sy0">,</span><span class="st_h">'pdf_add_note'</span><span class="sy0">,</span><span class="st_h">'pdf_add_pdflink'</span><span class="sy0">,</span></span></span> <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> 2954 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_attach_file'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_font'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_glyph'</span><span class="sy0">,</span></span></span> <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> 2955 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_circle'</span><span class="sy0">,</span><span class="st_h">'pdf_clip'</span><span class="sy0">,</span><span class="st_h">'pdf_close'</span><span class="sy0">,</span><span class="st_h">'pdf_close_image'</span><span class="sy0">,</span></span></span> <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> 2956 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_closepath_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_closepath_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_concat'</span><span class="sy0">,</span></span></span> <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> 2957 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_curveto'</span><span class="sy0">,</span><span class="st_h">'pdf_delete'</span><span class="sy0">,</span><span class="st_h">'pdf_delete_pvf'</span><span class="sy0">,</span><span class="st_h">'pdf_encoding_set_char'</span><span class="sy0">,</span></span></span> <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> 2958 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_end_template'</span><span class="sy0">,</span><span class="st_h">'pdf_endpath'</span><span class="sy0">,</span><span class="st_h">'pdf_fill'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_imageblock'</span><span class="sy0">,</span></span></span> <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> 2959 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_findfont'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_image'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_pdi_page'</span><span class="sy0">,</span></span></span> <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> 2960 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_get_errmsg'</span><span class="sy0">,</span><span class="st_h">'pdf_get_errnum'</span><span class="sy0">,</span><span class="st_h">'pdf_get_parameter'</span><span class="sy0">,</span></span></span> <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> 2961 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_initgraphics'</span><span class="sy0">,</span><span class="st_h">'pdf_lineto'</span><span class="sy0">,</span><span class="st_h">'pdf_load_font'</span><span class="sy0">,</span></span></span> <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> 2962 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_moveto'</span><span class="sy0">,</span><span class="st_h">'pdf_new'</span><span class="sy0">,</span><span class="st_h">'pdf_open_ccitt'</span><span class="sy0">,</span><span class="st_h">'pdf_open_file'</span><span class="sy0">,</span></span></span> <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> 2963 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_open_pdi_page'</span><span class="sy0">,</span><span class="st_h">'pdf_place_image'</span><span class="sy0">,</span><span class="st_h">'pdf_place_pdi_page'</span><span class="sy0">,</span></span></span> <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> 2964 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_scale'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_color'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_dash'</span><span class="sy0">,</span></span></span> <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> 2965 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_set_parameter'</span><span class="sy0">,</span><span class="st_h">'pdf_set_text_pos'</span><span class="sy0">,</span><span class="st_h">'pdf_set_value'</span><span class="sy0">,</span></span></span> <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> 2966 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_setfont'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinecap'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinejoin'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinewidth'</span><span class="sy0">,</span></span></span> <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> 2967 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_shading_pattern'</span><span class="sy0">,</span><span class="st_h">'pdf_shfill'</span><span class="sy0">,</span><span class="st_h">'pdf_show'</span><span class="sy0">,</span><span class="st_h">'pdf_show_boxed'</span><span class="sy0">,</span></span></span> <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> 2968 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_translate'</span><span class="sy0">,</span><span class="st_h">'pdo_drivers'</span><span class="sy0">,</span><span class="st_h">'pfsockopen'</span><span class="sy0">,</span><span class="st_h">'pg_affected_rows'</span><span class="sy0">,</span></span></span> <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> 2969 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_close'</span><span class="sy0">,</span><span class="st_h">'pg_cmdtuples'</span><span class="sy0">,</span><span class="st_h">'pg_connect'</span><span class="sy0">,</span><span class="st_h">'pg_connection_busy'</span><span class="sy0">,</span></span></span> <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> 2970 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_copy_from'</span><span class="sy0">,</span><span class="st_h">'pg_copy_to'</span><span class="sy0">,</span><span class="st_h">'pg_dbname'</span><span class="sy0">,</span><span class="st_h">'pg_delete'</span><span class="sy0">,</span><span class="st_h">'pg_end_copy'</span><span class="sy0">,</span></span></span> <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> 2971 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_execute'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all_columns'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_array'</span><span class="sy0">,</span></span></span> <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> 2972 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_fieldisnull'</span><span class="sy0">,</span><span class="st_h">'pg_fieldname'</span><span class="sy0">,</span><span class="st_h">'pg_fieldnum'</span><span class="sy0">,</span><span class="st_h">'pg_fieldprtlen'</span><span class="sy0">,</span></span></span> <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> 2973 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_field_num'</span><span class="sy0">,</span><span class="st_h">'pg_field_prtlen'</span><span class="sy0">,</span><span class="st_h">'pg_field_size'</span><span class="sy0">,</span><span class="st_h">'pg_field_table'</span><span class="sy0">,</span></span></span> <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> 2974 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_freeresult'</span><span class="sy0">,</span><span class="st_h">'pg_get_notify'</span><span class="sy0">,</span><span class="st_h">'pg_get_pid'</span><span class="sy0">,</span><span class="st_h">'pg_get_result'</span><span class="sy0">,</span></span></span> <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> 2975 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_last_notice'</span><span class="sy0">,</span><span class="st_h">'pg_last_oid'</span><span class="sy0">,</span><span class="st_h">'pg_loclose'</span><span class="sy0">,</span><span class="st_h">'pg_locreate'</span><span class="sy0">,</span></span></span> <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> 2976 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lounlink'</span><span class="sy0">,</span><span class="st_h">'pg_lowrite'</span><span class="sy0">,</span><span class="st_h">'pg_lo_close'</span><span class="sy0">,</span><span class="st_h">'pg_lo_create'</span><span class="sy0">,</span></span></span> <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> 2977 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lo_read_all'</span><span class="sy0">,</span><span class="st_h">'pg_lo_seek'</span><span class="sy0">,</span><span class="st_h">'pg_lo_tell'</span><span class="sy0">,</span><span class="st_h">'pg_lo_unlink'</span><span class="sy0">,</span></span></span> <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> 2978 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_num_fields'</span><span class="sy0">,</span><span class="st_h">'pg_num_rows'</span><span class="sy0">,</span><span class="st_h">'pg_options'</span><span class="sy0">,</span><span class="st_h">'pg_parameter_status'</span><span class="sy0">,</span></span></span> <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> 2979 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_query'</span><span class="sy0">,</span><span class="st_h">'pg_query_params'</span><span class="sy0">,</span><span class="st_h">'pg_result'</span><span class="sy0">,</span><span class="st_h">'pg_result_error'</span><span class="sy0">,</span></span></span> <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> 2980 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_select'</span><span class="sy0">,</span><span class="st_h">'pg_send_execute'</span><span class="sy0">,</span><span class="st_h">'pg_send_prepare'</span><span class="sy0">,</span><span class="st_h">'pg_send_query'</span><span class="sy0">,</span></span></span> <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> 2981 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_set_error_verbosity'</span><span class="sy0">,</span><span class="st_h">'pg_setclientencoding'</span><span class="sy0">,</span><span class="st_h">'pg_trace'</span><span class="sy0">,</span></span></span> <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> 2982 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_update'</span><span class="sy0">,</span><span class="st_h">'pg_version'</span><span class="sy0">,</span><span class="st_h">'php_egg_logo_guid'</span><span class="sy0">,</span><span class="st_h">'php_ini_loaded_file'</span><span class="sy0">,</span></span></span> <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> 2983 <span class="xtra li2"><span class="de2"> <span class="st_h">'php_sapi_name'</span><span class="sy0">,</span><span class="st_h">'php_strip_whitespace'</span><span class="sy0">,</span><span class="st_h">'php_uname'</span><span class="sy0">,</span><span class="st_h">'phpcredits'</span><span class="sy0">,</span></span></span> <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> 2984 <span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_close'</span><span class="sy0">,</span><span class="st_h">'pop3_delete_message'</span><span class="sy0">,</span><span class="st_h">'pop3_get_account_size'</span><span class="sy0">,</span></span></span> <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> 2985 <span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_get_message_header'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_ids'</span><span class="sy0">,</span></span></span> <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> 2986 <span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_undelete'</span><span class="sy0">,</span><span class="st_h">'popen'</span><span class="sy0">,</span><span class="st_h">'pos'</span><span class="sy0">,</span><span class="st_h">'posix_ctermid'</span><span class="sy0">,</span><span class="st_h">'posix_errno'</span><span class="sy0">,</span></span></span> <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> 2987 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getgrgid'</span><span class="sy0">,</span><span class="st_h">'posix_getgrnam'</span><span class="sy0">,</span><span class="st_h">'posix_getgroups'</span><span class="sy0">,</span></span></span> <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> 2988 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getppid'</span><span class="sy0">,</span><span class="st_h">'posix_getpwnam'</span><span class="sy0">,</span><span class="st_h">'posix_getpwuid'</span><span class="sy0">,</span><span class="st_h">'posix_getrlimit'</span><span class="sy0">,</span></span></span> <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> 2989 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_kill'</span><span class="sy0">,</span><span class="st_h">'posix_mkfifo'</span><span class="sy0">,</span><span class="st_h">'posix_setegid'</span><span class="sy0">,</span><span class="st_h">'posix_seteuid'</span><span class="sy0">,</span></span></span> <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> 2990 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_strerror'</span><span class="sy0">,</span><span class="st_h">'posix_times'</span><span class="sy0">,</span><span class="st_h">'posix_ttyname'</span><span class="sy0">,</span><span class="st_h">'posix_uname'</span><span class="sy0">,</span><span class="st_h">'pow'</span><span class="sy0">,</span></span></span> <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> 2991 <span class="xtra li2"><span class="de2"> <span class="st_h">'preg_quote'</span><span class="sy0">,</span><span class="st_h">'preg_replace'</span><span class="sy0">,</span><span class="st_h">'preg_replace_callback'</span><span class="sy0">,</span><span class="st_h">'preg_split'</span><span class="sy0">,</span></span></span> <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> 2992 <span class="xtra li2"><span class="de2"> <span class="st_h">'proc_open'</span><span class="sy0">,</span><span class="st_h">'proc_terminate'</span><span class="sy0">,</span><span class="st_h">'putenv'</span><span class="sy0">,</span><span class="st_h">'quoted_printable_decode'</span><span class="sy0">,</span></span></span> <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> 2993 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_auth_open'</span><span class="sy0">,</span><span class="st_h">'radius_close'</span><span class="sy0">,</span><span class="st_h">'radius_config'</span><span class="sy0">,</span></span></span> <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> 2994 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_cvt_string'</span><span class="sy0">,</span><span class="st_h">'radius_demangle'</span><span class="sy0">,</span><span class="st_h">'radius_demangle_mppe_key'</span><span class="sy0">,</span></span></span> <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> 2995 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_put_attr'</span><span class="sy0">,</span><span class="st_h">'radius_put_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_string'</span><span class="sy0">,</span></span></span> <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> 2996 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_put_vendor_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_vendor_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_request_authenticator'</span><span class="sy0">,</span><span class="st_h">'radius_send_request'</span><span class="sy0">,</span> 2997 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_server_secret'</span><span class="sy0">,</span><span class="st_h">'radius_strerror'</span><span class="sy0">,</span><span class="st_h">'rand'</span><span class="sy0">,</span><span class="st_h">'range'</span><span class="sy0">,</span></span></span> <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> 2998 <span class="xtra li2"><span class="de2"> <span class="st_h">'readgzfile'</span><span class="sy0">,</span><span class="st_h">'readlink'</span><span class="sy0">,</span><span class="st_h">'realpath'</span><span class="sy0">,</span><span class="st_h">'reg_close_key'</span><span class="sy0">,</span><span class="st_h">'reg_create_key'</span><span class="sy0">,</span></span></span> <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> 2999 <span class="xtra li2"><span class="de2"> <span class="st_h">'reg_set_value'</span><span class="sy0">,</span><span class="st_h">'register_shutdown_function'</span><span class="sy0">,</span></span></span> <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> 3000 <span class="xtra li2"><span class="de2"> <span class="st_h">'res_list_type'</span><span class="sy0">,</span><span class="st_h">'res_open'</span><span class="sy0">,</span><span class="st_h">'res_set'</span><span class="sy0">,</span><span class="st_h">'reset'</span><span class="sy0">,</span></span></span> <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> 3001 <span class="xtra li2"><span class="de2"> <span class="st_h">'rmdir'</span><span class="sy0">,</span><span class="st_h">'round'</span><span class="sy0">,</span><span class="st_h">'rsort'</span><span class="sy0">,</span><span class="st_h">'rtrim'</span><span class="sy0">,</span><span class="st_h">'runkit_class_adopt'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_class_emancipate'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_add'</span><span class="sy0">,</span> 3002 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_constant_redefine'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_remove'</span><span class="sy0">,</span></span></span> <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> 3003 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_function_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_function_redefine'</span><span class="sy0">,</span></span></span> <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> 3004 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_lint'</span><span class="sy0">,</span><span class="st_h">'runkit_lint_file'</span><span class="sy0">,</span><span class="st_h">'runkit_method_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_method_redefine'</span><span class="sy0">,</span> 3005 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'runkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'runkit_object_id'</span><span class="sy0">,</span></span></span> <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> 3006 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_superglobals'</span><span class="sy0">,</span><span class="st_h">'runkit_zval_inspect'</span><span class="sy0">,</span><span class="st_h">'scandir'</span><span class="sy0">,</span><span class="st_h">'sem_acquire'</span><span class="sy0">,</span></span></span> <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> 3007 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_cache_expire'</span><span class="sy0">,</span><span class="st_h">'session_cache_limiter'</span><span class="sy0">,</span><span class="st_h">'session_commit'</span><span class="sy0">,</span></span></span> <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> 3008 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_get_cookie_params'</span><span class="sy0">,</span><span class="st_h">'session_id'</span><span class="sy0">,</span><span class="st_h">'session_is_registered'</span><span class="sy0">,</span></span></span> <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> 3009 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_register'</span><span class="sy0">,</span><span class="st_h">'session_save_path'</span><span class="sy0">,</span><span class="st_h">'session_set_cookie_params'</span><span class="sy0">,</span></span></span> <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> 3010 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_unset'</span><span class="sy0">,</span><span class="st_h">'session_write_close'</span><span class="sy0">,</span><span class="st_h">'set_content'</span><span class="sy0">,</span></span></span> <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> 3011 <span class="xtra li2"><span class="de2"> <span class="st_h">'set_magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'set_socket_blocking'</span><span class="sy0">,</span><span class="st_h">'set_time_limit'</span><span class="sy0">,</span></span></span> <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> 3012 <span class="xtra li2"><span class="de2"> <span class="st_h">'shell_exec'</span><span class="sy0">,</span><span class="st_h">'shmop_close'</span><span class="sy0">,</span><span class="st_h">'shmop_delete'</span><span class="sy0">,</span><span class="st_h">'shmop_open'</span><span class="sy0">,</span><span class="st_h">'shmop_read'</span><span class="sy0">,</span></span></span> <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> 3013 <span class="xtra li2"><span class="de2"> <span class="st_h">'shm_put_var'</span><span class="sy0">,</span><span class="st_h">'shm_remove'</span><span class="sy0">,</span><span class="st_h">'shm_remove_var'</span><span class="sy0">,</span><span class="st_h">'show_source'</span><span class="sy0">,</span><span class="st_h">'shuffle'</span><span class="sy0">,</span></span></span> <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> 3014 <span class="xtra li2"><span class="de2"> <span class="st_h">'simplexml_load_string'</span><span class="sy0">,</span><span class="st_h">'sin'</span><span class="sy0">,</span><span class="st_h">'sinh'</span><span class="sy0">,</span><span class="st_h">'sizeof'</span><span class="sy0">,</span><span class="st_h">'sleep'</span><span class="sy0">,</span><span class="st_h">'smtp_close'</span><span class="sy0">,</span></span></span> <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> 3015 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmp_get_quick_print'</span><span class="sy0">,</span><span class="st_h">'snmp_get_valueretrieval'</span><span class="sy0">,</span><span class="st_h">'snmp_read_mib'</span><span class="sy0">,</span></span></span> <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> 3016 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmp2_getnext'</span><span class="sy0">,</span><span class="st_h">'snmp2_real_walk'</span><span class="sy0">,</span><span class="st_h">'snmp2_set'</span><span class="sy0">,</span><span class="st_h">'snmp2_walk'</span><span class="sy0">,</span></span></span> <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> 3017 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmp3_walk'</span><span class="sy0">,</span><span class="st_h">'snmpget'</span><span class="sy0">,</span><span class="st_h">'snmpgetnext'</span><span class="sy0">,</span><span class="st_h">'snmprealwalk'</span><span class="sy0">,</span><span class="st_h">'snmpset'</span><span class="sy0">,</span></span></span> <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> 3018 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_clear_error'</span><span class="sy0">,</span><span class="st_h">'socket_close'</span><span class="sy0">,</span><span class="st_h">'socket_connect'</span><span class="sy0">,</span></span></span> <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> 3019 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_getopt'</span><span class="sy0">,</span><span class="st_h">'socket_getpeername'</span><span class="sy0">,</span><span class="st_h">'socket_getsockname'</span><span class="sy0">,</span></span></span> <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> 3020 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_iovec_alloc'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_delete'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_fetch'</span><span class="sy0">,</span></span></span> <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> 3021 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_listen'</span><span class="sy0">,</span><span class="st_h">'socket_read'</span><span class="sy0">,</span><span class="st_h">'socket_readv'</span><span class="sy0">,</span><span class="st_h">'socket_recv'</span><span class="sy0">,</span></span></span> <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> 3022 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_sendmsg'</span><span class="sy0">,</span><span class="st_h">'socket_sendto'</span><span class="sy0">,</span><span class="st_h">'socket_setopt'</span><span class="sy0">,</span><span class="st_h">'socket_set_block'</span><span class="sy0">,</span></span></span> <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> 3023 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_set_timeout'</span><span class="sy0">,</span><span class="st_h">'socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'socket_strerror'</span><span class="sy0">,</span></span></span> <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> 3024 <span class="xtra li2"><span class="de2"> <span class="st_h">'spl_autoload_call'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_extensions'</span><span class="sy0">,</span></span></span> <span class="st_h">'spl_autoload_functions'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_register'</span><span class="sy0">,</span> 3025 <span class="xtra li2"><span class="de2"> <span class="st_h">'spl_autoload_unregister'</span><span class="sy0">,</span><span class="st_h">'spl_classes'</span><span class="sy0">,</span><span class="st_h">'spl_object_hash'</span><span class="sy0">,</span><span class="st_h">'split'</span><span class="sy0">,</span></span></span> <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> 3026 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_busy_timeout'</span><span class="sy0">,</span><span class="st_h">'sqlite_changes'</span><span class="sy0">,</span><span class="st_h">'sqlite_close'</span><span class="sy0">,</span></span></span> <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> 3027 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_current'</span><span class="sy0">,</span><span class="st_h">'sqlite_error_string'</span><span class="sy0">,</span><span class="st_h">'sqlite_escape_string'</span><span class="sy0">,</span></span></span> <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> 3028 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_fetch_array'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_column_types'</span><span class="sy0">,</span></span></span> <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> 3029 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_field_name'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_more'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_prev'</span><span class="sy0">,</span></span></span> <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> 3030 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_libversion'</span><span class="sy0">,</span><span class="st_h">'sqlite_next'</span><span class="sy0">,</span><span class="st_h">'sqlite_num_fields'</span><span class="sy0">,</span></span></span> <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> 3031 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_rewind'</span><span class="sy0">,</span><span class="st_h">'sqlite_seek'</span><span class="sy0">,</span><span class="st_h">'sqlite_single_query'</span><span class="sy0">,</span></span></span> <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> 3032 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_unbuffered_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_valid'</span><span class="sy0">,</span><span class="st_h">'sqrt'</span><span class="sy0">,</span><span class="st_h">'srand'</span><span class="sy0">,</span><span class="st_h">'sscanf'</span><span class="sy0">,</span></span></span> <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> 3033 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_auth_pubkey_file'</span><span class="sy0">,</span><span class="st_h">'ssh2_connect'</span><span class="sy0">,</span><span class="st_h">'ssh2_exec'</span><span class="sy0">,</span></span></span> <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> 3034 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_forward_listen'</span><span class="sy0">,</span><span class="st_h">'ssh2_methods_negotiated'</span><span class="sy0">,</span><span class="st_h">'ssh2_poll'</span><span class="sy0">,</span></span></span> <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> 3035 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_publickey_remove'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_recv'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_send'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp'</span><span class="sy0">,</span></span></span> <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> 3036 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_sftp_realpath'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rename'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rmdir'</span><span class="sy0">,</span></span></span> <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> 3037 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_shell'</span><span class="sy0">,</span><span class="st_h">'ssh2_tunnel'</span><span class="sy0">,</span><span class="st_h">'stat'</span><span class="sy0">,</span><span class="st_h">'stats_absolute_deviation'</span><span class="sy0">,</span></span></span> <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> 3038 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_chisquare'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_exponential'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_f'</span><span class="sy0">,</span></span></span> <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> 3039 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_noncentral_chisquare'</span><span class="sy0">,</span></span></span> <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> 3040 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_normal'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_poisson'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_t'</span><span class="sy0">,</span></span></span> <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> 3041 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_beta'</span><span class="sy0">,</span><span class="st_h">'stats_dens_cauchy'</span><span class="sy0">,</span><span class="st_h">'stats_dens_chisquare'</span><span class="sy0">,</span></span></span> <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> 3042 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_laplace'</span><span class="sy0">,</span><span class="st_h">'stats_dens_logistic'</span><span class="sy0">,</span><span class="st_h">'stats_dens_normal'</span><span class="sy0">,</span></span></span> <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> 3043 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_pmf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_dens_pmf_poisson'</span><span class="sy0">,</span></span></span> <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> 3044 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_harmonic_mean'</span><span class="sy0">,</span><span class="st_h">'stats_kurtosis'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_beta'</span><span class="sy0">,</span></span></span> <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> 3045 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_funiform'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_gamma'</span><span class="sy0">,</span></span></span> <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> 3046 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_noncenral_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_noncentral_chisquare'</span><span class="sy0">,</span></span></span> <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> 3047 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_t'</span><span class="sy0">,</span><span class="st_h">'stats_rand_getsd'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ibinomial'</span><span class="sy0">,</span></span></span> <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> 3048 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_phrase_to_seeds'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ranf'</span><span class="sy0">,</span><span class="st_h">'stats_rand_setall'</span><span class="sy0">,</span></span></span> <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> 3049 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_stat_correlation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_factorial'</span><span class="sy0">,</span></span></span> <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> 3050 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_stat_paired_t'</span><span class="sy0">,</span><span class="st_h">'stats_stat_percentile'</span><span class="sy0">,</span><span class="st_h">'stats_stat_powersum'</span><span class="sy0">,</span></span></span> <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> 3051 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_bucket_append'</span><span class="sy0">,</span><span class="st_h">'stream_bucket_make_writeable'</span><span class="sy0">,</span></span></span> <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> 3052 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_context_get_default'</span><span class="sy0">,</span><span class="st_h">'stream_context_get_options'</span><span class="sy0">,</span></span></span> <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> 3053 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_context_set_params'</span><span class="sy0">,</span><span class="st_h">'stream_copy_to_stream'</span><span class="sy0">,</span></span></span> <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> 3054 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_filter_register'</span><span class="sy0">,</span><span class="st_h">'stream_filter_remove'</span><span class="sy0">,</span></span></span> <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> 3055 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_get_meta_data'</span><span class="sy0">,</span><span class="st_h">'stream_get_transports'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_get_wrappers'</span><span class="sy0">,</span><span class="st_h">'stream_is_local'</span><span class="sy0">,</span> 3056 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_notification_callback'</span><span class="sy0">,</span><span class="st_h">'stream_register_wrapper'</span><span class="sy0">,</span></span></span> <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> 3057 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_set_timeout'</span><span class="sy0">,</span><span class="st_h">'stream_set_write_buffer'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_accept'</span><span class="sy0">,</span><span class="st_h">'stream_socket_client'</span><span class="sy0">,</span> 3058 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_enable_crypto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_get_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_pair'</span><span class="sy0">,</span><span class="st_h">'stream_socket_recvfrom'</span><span class="sy0">,</span> 3059 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_sendto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_server'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'stream_supports_lock'</span><span class="sy0">,</span> 3060 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_wrapper_register'</span><span class="sy0">,</span><span class="st_h">'stream_wrapper_restore'</span><span class="sy0">,</span></span></span> <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> 3061 <span class="xtra li2"><span class="de2"> <span class="st_h">'stripslashes'</span><span class="sy0">,</span><span class="st_h">'strip_tags'</span><span class="sy0">,</span><span class="st_h">'stristr'</span><span class="sy0">,</span><span class="st_h">'strlen'</span><span class="sy0">,</span><span class="st_h">'strnatcasecmp'</span><span class="sy0">,</span></span></span> <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> 3062 <span class="xtra li2"><span class="de2"> <span class="st_h">'strrev'</span><span class="sy0">,</span><span class="st_h">'strripos'</span><span class="sy0">,</span><span class="st_h">'strrpos'</span><span class="sy0">,</span><span class="st_h">'strspn'</span><span class="sy0">,</span><span class="st_h">'strstr'</span><span class="sy0">,</span><span class="st_h">'strtok'</span><span class="sy0">,</span></span></span> <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> 3063 <span class="xtra li2"><span class="de2"> <span class="st_h">'str_ireplace'</span><span class="sy0">,</span><span class="st_h">'str_pad'</span><span class="sy0">,</span><span class="st_h">'str_repeat'</span><span class="sy0">,</span><span class="st_h">'str_replace'</span><span class="sy0">,</span><span class="st_h">'str_rot13'</span><span class="sy0">,</span></span></span> <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> 3064 <span class="xtra li2"><span class="de2"> <span class="st_h">'substr_compare'</span><span class="sy0">,</span><span class="st_h">'substr_count'</span><span class="sy0">,</span><span class="st_h">'substr_replace'</span><span class="sy0">,</span><span class="st_h">'svn_add'</span><span class="sy0">,</span></span></span> <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> 3065 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_checkout'</span><span class="sy0">,</span><span class="st_h">'svn_cleanup'</span><span class="sy0">,</span><span class="st_h">'svn_client_version'</span><span class="sy0">,</span><span class="st_h">'svn_commit'</span><span class="sy0">,</span></span></span> <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> 3066 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_begin_txn2'</span><span class="sy0">,</span><span class="st_h">'svn_fs_change_node_prop'</span><span class="sy0">,</span><span class="st_h">'svn_fs_check_path'</span><span class="sy0">,</span></span></span> <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> 3067 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_dir_entries'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_contents'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_length'</span><span class="sy0">,</span></span></span> <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> 3068 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_make_file'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_created_rev'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_prop'</span><span class="sy0">,</span></span></span> <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> 3069 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_revision_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_txn_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_youngest_rev'</span><span class="sy0">,</span></span></span> <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> 3070 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_repos_fs'</span><span class="sy0">,</span><span class="st_h">'svn_repos_fs_begin_txn_for_commit'</span><span class="sy0">,</span></span></span> <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> 3071 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_repos_recover'</span><span class="sy0">,</span><span class="st_h">'svn_status'</span><span class="sy0">,</span><span class="st_h">'svn_update'</span><span class="sy0">,</span><span class="st_h">'symlink'</span><span class="sy0">,</span></span></span> <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> 3072 <span class="xtra li2"><span class="de2"> <span class="st_h">'textdomain'</span><span class="sy0">,</span><span class="st_h">'thread_get'</span><span class="sy0">,</span><span class="st_h">'thread_include'</span><span class="sy0">,</span><span class="st_h">'thread_lock'</span><span class="sy0">,</span></span></span> <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> 3073 <span class="xtra li2"><span class="de2"> <span class="st_h">'thread_set'</span><span class="sy0">,</span><span class="st_h">'thread_start'</span><span class="sy0">,</span><span class="st_h">'thread_unlock'</span><span class="sy0">,</span><span class="st_h">'tidy_access_count'</span><span class="sy0">,</span></span></span> <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> 3074 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_error_count'</span><span class="sy0">,</span><span class="st_h">'tidy_get_body'</span><span class="sy0">,</span><span class="st_h">'tidy_get_config'</span><span class="sy0">,</span></span></span> <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> 3075 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_get_html_ver'</span><span class="sy0">,</span><span class="st_h">'tidy_get_output'</span><span class="sy0">,</span><span class="st_h">'tidy_get_release'</span><span class="sy0">,</span></span></span> <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> 3076 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_is_xml'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_file'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_string'</span><span class="sy0">,</span></span></span> <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> 3077 <span class="xtra li2"><span class="de2"> <span class="st_h">'timezone_abbreviations_list'</span><span class="sy0">,</span><span class="st_h">'timezone_identifiers_list'</span><span class="sy0">,</span></span></span> <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> 3078 <span class="xtra li2"><span class="de2"> <span class="st_h">'timezone_open'</span><span class="sy0">,</span><span class="st_h">'timezone_transitions_get'</span><span class="sy0">,</span><span class="st_h">'tmpfile'</span><span class="sy0">,</span></span></span> <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> 3079 <span class="xtra li2"><span class="de2"> <span class="st_h">'transliterate'</span><span class="sy0">,</span><span class="st_h">'transliterate_filters_get'</span><span class="sy0">,</span><span class="st_h">'trim'</span><span class="sy0">,</span><span class="st_h">'uasort'</span><span class="sy0">,</span></span></span> <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> 3080 <span class="xtra li2"><span class="de2"> <span class="st_h">'unpack'</span><span class="sy0">,</span><span class="st_h">'unregister_tick_function'</span><span class="sy0">,</span><span class="st_h">'unserialize'</span><span class="sy0">,</span><span class="st_h">'unset'</span><span class="sy0">,</span></span></span> <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> 3081 <span class="xtra li2"><span class="de2"> <span class="st_h">'usleep'</span><span class="sy0">,</span><span class="st_h">'usort'</span><span class="sy0">,</span><span class="st_h">'utf8_decode'</span><span class="sy0">,</span><span class="st_h">'utf8_encode'</span><span class="sy0">,</span><span class="st_h">'var_dump'</span><span class="sy0">,</span></span></span> <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> 3082 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_cast'</span><span class="sy0">,</span><span class="st_h">'variant_cat'</span><span class="sy0">,</span><span class="st_h">'variant_cmp'</span><span class="sy0">,</span></span></span> <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> 3083 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_div'</span><span class="sy0">,</span><span class="st_h">'variant_eqv'</span><span class="sy0">,</span><span class="st_h">'variant_fix'</span><span class="sy0">,</span><span class="st_h">'variant_get_type'</span><span class="sy0">,</span></span></span> <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> 3084 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_mul'</span><span class="sy0">,</span><span class="st_h">'variant_neg'</span><span class="sy0">,</span><span class="st_h">'variant_not'</span><span class="sy0">,</span><span class="st_h">'variant_or'</span><span class="sy0">,</span></span></span> <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> 3085 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_sub'</span><span class="sy0">,</span><span class="st_h">'variant_xor'</span><span class="sy0">,</span><span class="st_h">'version_compare'</span><span class="sy0">,</span><span class="st_h">'virtual'</span><span class="sy0">,</span><span class="st_h">'vfprintf'</span><span class="sy0">,</span></span></span> <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> 3086 <span class="xtra li2"><span class="de2"> <span class="st_h">'wddx_packet_end'</span><span class="sy0">,</span><span class="st_h">'wddx_packet_start'</span><span class="sy0">,</span><span class="st_h">'wddx_serialize_value'</span><span class="sy0">,</span></span></span> <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> 3087 <span class="xtra li2"><span class="de2"> <span class="st_h">'win_browse_folder'</span><span class="sy0">,</span><span class="st_h">'win_create_link'</span><span class="sy0">,</span><span class="st_h">'win_message_box'</span><span class="sy0">,</span></span></span> <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> 3088 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_delete_service'</span><span class="sy0">,</span><span class="st_h">'win32_get_last_control_message'</span><span class="sy0">,</span></span></span> <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> 3089 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_query_service_status'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_delete_task'</span><span class="sy0">,</span></span></span> <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> 3090 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_scheduler_run'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_set_task_info'</span><span class="sy0">,</span></span></span> <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> 3091 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_start_service_ctrl_dispatcher'</span><span class="sy0">,</span><span class="st_h">'win32_stop_service'</span><span class="sy0">,</span></span></span> <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> 3092 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_get_current_column_number'</span><span class="sy0">,</span><span class="st_h">'xml_get_current_line_number'</span><span class="sy0">,</span></span></span> <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> 3093 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_create_ns'</span><span class="sy0">,</span><span class="st_h">'xml_parser_free'</span><span class="sy0">,</span><span class="st_h">'xml_parser_get_option'</span><span class="sy0">,</span></span></span> <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> 3094 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_character_data_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_default_handler'</span><span class="sy0">,</span></span></span> <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> 3095 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_notation_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_object'</span><span class="sy0">,</span> 3096 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span> 3097 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_unparsed_entity_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xmldoc'</span><span class="sy0">,</span><span class="st_h">'xmldocfile'</span><span class="sy0">,</span></span></span> <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> 3098 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_encode_request'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_get_type'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_is_fault'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_parse_method_descriptions'</span><span class="sy0">,</span> 3099 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_add_introspection_data'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_call_method'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_server_create'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_destroy'</span><span class="sy0">,</span> 3100 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_register_introspection_callback'</span><span class="sy0">,</span></span></span> <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> 3101 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_cdata'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_comment'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_document'</span><span class="sy0">,</span> 3102 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_dtd_attlist'</span><span class="sy0">,</span></span></span> <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> 3103 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_flush'</span><span class="sy0">,</span></span></span> <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> 3104 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_open_uri'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_output_memory'</span><span class="sy0">,</span></span></span> <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> 3105 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_attribute_ns'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_comment'</span><span class="sy0">,</span> 3106 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_document'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd'</span><span class="sy0">,</span></span></span> <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> 3107 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_dtd_entity'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_element'</span><span class="sy0">,</span></span></span> <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> 3108 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_attribute_ns'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_comment'</span><span class="sy0">,</span> 3109 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_dtd_attlist'</span><span class="sy0">,</span></span></span> <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> 3110 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_element_ns'</span><span class="sy0">,</span></span></span> <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> 3111 <span class="xtra li2"><span class="de2"> <span class="st_h">'xpath_eval_expression'</span><span class="sy0">,</span><span class="st_h">'xpath_new_context'</span><span class="sy0">,</span><span class="st_h">'xpath_register_ns'</span><span class="sy0">,</span></span></span> <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> 3112 <span class="xtra li2"><span class="de2"> <span class="st_h">'yp_cat'</span><span class="sy0">,</span><span class="st_h">'yp_errno'</span><span class="sy0">,</span><span class="st_h">'yp_err_string'</span><span class="sy0">,</span><span class="st_h">'yp_first'</span><span class="sy0">,</span></span></span> <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> 3113 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_current_obfuscation_level'</span><span class="sy0">,</span><span class="st_h">'zend_get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'zend_get_id'</span><span class="sy0">,</span></span></span> <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> 3114 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_loader_file_encoded'</span><span class="sy0">,</span><span class="st_h">'zend_loader_file_licensed'</span><span class="sy0">,</span></span></span> <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> 3115 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_logo_guid'</span><span class="sy0">,</span><span class="st_h">'zend_match_hostmasks'</span><span class="sy0">,</span><span class="st_h">'zend_obfuscate_class_name'</span><span class="sy0">,</span></span></span> <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> 3116 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_runtime_obfuscate'</span><span class="sy0">,</span><span class="st_h">'zend_version'</span><span class="sy0">,</span><span class="st_h">'zip_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'zip_entry_close'</span><span class="sy0">,</span><span class="st_h">'zip_entry_compressedsize'</span><span class="sy0">,</span> 3117 <span class="xtra li2"><span class="de2"> <span class="st_h">'zip_entry_compressionmethod'</span><span class="sy0">,</span><span class="st_h">'zip_entry_filesize'</span><span class="sy0">,</span><span class="st_h">'zip_entry_name'</span><span class="sy0">,</span></span></span> <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> 3118 <span class="xtra li2"><span class="de2"> <span class="st_h">'zlib_get_coding_type'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3119 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <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> 3120 <span class="xtra li2"><span class="de2"> <span class="st_h">'E_COMPILE_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_COMPILE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_CORE_ERROR'</span><span class="sy0">,</span></span></span> <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> 3121 <span class="xtra li2"><span class="de2"> <span class="st_h">'E_USER_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_USER_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_USER_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_WARNING'</span><span class="sy0">,</span></span></span> <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> 3122 <span class="xtra li2"><span class="de2"> <span class="st_h">'false'</span><span class="sy0">,</span> <span class="st_h">'null'</span><span class="sy0">,</span> <span class="st_h">'PEAR_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PEAR_INSTALL_DIR'</span><span class="sy0">,</span></span></span> <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> 3123 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span> 3124 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_OUTPUT_HANDLER_CONT'</span><span class="sy0">,</span> <span class="st_h">'PHP_OUTPUT_HANDLER_END'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_OUTPUT_HANDLER_START'</span><span class="sy0">,</span> <span class="st_h">'PHP_SYSCONFDIR'</span><span class="sy0">,</span> 3125 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_VERSION'</span><span class="sy0">,</span> <span class="st_h">'true'</span><span class="sy0">,</span> <span class="st_h">'__CLASS__'</span><span class="sy0">,</span> <span class="st_h">'__FILE__'</span><span class="sy0">,</span> <span class="st_h">'__FUNCTION__'</span><span class="sy0">,</span></span></span> <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span> 3126 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3127 <span class="xtra li2"><span class="de2"> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3128 <span class="xtra li2"><span class="de2"> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'%='</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">.</span><span class="st_h">'>'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?'</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?='</span><span class="sy0">,</span> <span class="st_h">'?'</span><span class="sy0">.</span><span class="st_h">'>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3129 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'('</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> 3130 <span class="xtra li2"><span class="de2"> <span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span></span></span> <span class="st_h">'<'</span><span class="sy0">,</span> <span class="st_h">'>'</span><span class="sy0">,</span> 3131 <span class="xtra li2"><span class="de2"> <span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span></span></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> 3132 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3133 <span class="xtra li2"><span class="de2"> <span class="st_h">'CASE_SENSITIVE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> GESHI_COMMENTS <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span> 3134 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span> 3135 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">false</span> 3136 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3137 <span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span> 3138 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #990000;'</span><span class="sy0">,</span> 3139 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009900; font-weight: bold;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3140 <span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span> 3141 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #0000cc; font-style: italic;'</span><span class="sy0">,</span> 3142 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="st_h">'MULTI'</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span> 3143 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3144 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span> 3145 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span> 3146 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold; font-style: italic;'</span><span class="sy0">,</span> 3147 <span class="xtra li2"><span class="de2"> <span class="nu0">6</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span> 3148 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3149 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #009900;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3150 <span class="xtra li2"><span class="de2"> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span><span class="sy0">,</span> 3151 <span class="xtra li2"><span class="de2"> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3152 <span class="xtra li2"><span class="de2"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #cc66cc;'</span><span class="sy0">,</span> 3153 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_OCT_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span></span></span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span> 3154 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_FLT_SCI_ZERO <span class="sy0">=></span> <span class="st_h">'color:#800080;'</span><span class="sy0">,</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3155 <span class="xtra li2"><span class="de2"> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span><span class="sy0">,</span> 3156 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3157 <span class="xtra li2"><span class="de2"> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #339933;'</span><span class="sy0">,</span> 3158 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3159 <span class="xtra li2"><span class="de2"> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000088;'</span> 3160 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3161 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3162 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3163 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">''</span> 3164 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3165 <span class="xtra li2"><span class="de2"> <span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3166 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'http://www.php.net/{FNAMEL}'</span><span class="sy0">,</span> 3167 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3168 <span class="xtra li2"><span class="de2"> <span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="st_h">'OBJECT_SPLITTERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3169 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'::'</span> 3170 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3171 <span class="xtra li2"><span class="de2"> <span class="co1">//Variables</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st0">"[<span class="es1">\\</span>$]+[a-zA-Z_<span class="es2">\x7f</span>-<span class="es2">\xff</span>][a-zA-Z0-9_<span class="es2">\x7f</span>-<span class="es2">\xff</span>]*"</span> 3172 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=></span> GESHI_MAYBE<span class="sy0">,</span> 3173 <span class="xtra li2"><span class="de2"> <span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3174 <span class="xtra li2"><span class="de2"> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?php'</span> <span class="sy0">=></span> <span class="st_h">'?'</span><span class="sy0">.</span><span class="st_h">'>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3175 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'?'</span> <span class="sy0">=></span> <span class="st_h">'?'</span><span class="sy0">.</span><span class="st_h">'>'</span> 3176 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3177 <span class="xtra li2"><span class="de2"> <span class="st_h">'<'</span><span class="sy0">.</span><span class="st_h">'%'</span> <span class="sy0">=></span> <span class="st_h">'%'</span><span class="sy0">.</span><span class="st_h">'>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3178 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<script language="php">'</span> <span class="sy0">=></span> <span class="st_h">'</script>'</span> 3179 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"/(?P<start><<span class="es1">\\</span>?(?>php\b)?)(?:"</span><span class="sy0">.</span> 3180 <span class="xtra li2"><span class="de2"> <span class="st0">"(?>[^<span class="es1">\"</span>'?<span class="es1">\\</span>/<]+)|"</span><span class="sy0">.</span></span></span> <span class="st0">"<span class="es1">\\</span>?(?!>)|"</span><span class="sy0">.</span> 3181 <span class="xtra li2"><span class="de2"> <span class="st0">"(?>'(?>[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>'|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span>\|<span class="es1">\\</span><span class="es1">\\</span>)*')|"</span><span class="sy0">.</span></span></span> <span class="st0">"(?><span class="es1">\"</span>(?>[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\"</span>|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span>|<span class="es1">\\</span><span class="es1">\\</span>)*<span class="es1">\"</span>)|"</span><span class="sy0">.</span> 3182 <span class="xtra li2"><span class="de2"> <span class="st0">"(?><span class="es1">\\</span>/<span class="es1">\\</span>*(?>[^<span class="es1">\\</span>*]|(?!<span class="es1">\\</span>*<span class="es1">\\</span>/)<span class="es1">\\</span>*)*<span class="es1">\\</span>*<span class="es1">\\</span>/)|"</span><span class="sy0">.</span></span></span> <span class="st0">"<span class="es1">\\</span>/<span class="es1">\\</span>/(?>.*?(?:<span class="es1">\\</span>?>|$))|"</span><span class="sy0">.</span> 3183 <span class="xtra li2"><span class="de2"> <span class="st0">"#(?>.*?(?:<span class="es1">\\</span>?>|$))|"</span><span class="sy0">.</span></span></span> <span class="st0">"<span class="es1">\\</span>/(?=[^*<span class="es1">\\</span>/])|"</span><span class="sy0">.</span> 3184 <span class="xtra li2"><span class="de2"> <span class="st0">"<(?!<<)|"</span><span class="sy0">.</span></span></span> <span class="st0">"<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>"</span><span class="sy0">.</span> 3185 <span class="xtra li2"><span class="de2"> <span class="st0">")*?(?P<end><span class="es1">\\</span>?>|\Z)/sm"</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"/(?P<start><%)(?:"</span><span class="sy0">.</span> 3186 <span class="xtra li2"><span class="de2"> <span class="st0">"(?>[^<span class="es1">\"</span>'%<span class="es1">\\</span>/<]+)|"</span><span class="sy0">.</span></span></span> <span class="st0">"%(?!>)|"</span><span class="sy0">.</span> 3187 <span class="xtra li2"><span class="de2"> <span class="st0">"(?>'(?>[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>'|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span>\|<span class="es1">\\</span><span class="es1">\\</span>)*')|"</span><span class="sy0">.</span></span></span> <span class="st0">"(?><span class="es1">\"</span>(?>[^<span class="es1">\\</span><span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\"</span>|<span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span><span class="es1">\\</span>|<span class="es1">\\</span><span class="es1">\\</span>)*<span class="es1">\"</span>)|"</span><span class="sy0">.</span> 3188 <span class="xtra li2"><span class="de2"> <span class="st0">"(?><span class="es1">\\</span>/<span class="es1">\\</span>*(?>[^<span class="es1">\\</span>*]|(?!<span class="es1">\\</span>*<span class="es1">\\</span>/)<span class="es1">\\</span>*)*<span class="es1">\\</span>*<span class="es1">\\</span>/)|"</span><span class="sy0">.</span></span></span> <span class="st0">"<span class="es1">\\</span>/<span class="es1">\\</span>/(?>.*?(?:%>|$))|"</span><span class="sy0">.</span> 3189 <span class="xtra li2"><span class="de2"> <span class="st0">"#(?>.*?(?:%>|$))|"</span><span class="sy0">.</span></span></span> <span class="st0">"<span class="es1">\\</span>/(?=[^*<span class="es1">\\</span>/])|"</span><span class="sy0">.</span> 3190 <span class="xtra li2"><span class="de2"> <span class="st0">"<(?!<<)|"</span><span class="sy0">.</span></span></span> <span class="st0">"<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>"</span><span class="sy0">.</span> 3191 <span class="xtra li2"><span class="de2"> <span class="st0">")*?(?P<end>%>|\Z)/sm"</span><span class="sy0">,</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3192 <span class="xtra li2"><span class="de2"> <span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3193 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3194 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3195 <span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="kw4">true</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3196 <span class="xtra li2"><span class="de2"> <span class="st_h">'TAB_WIDTH'</span> <span class="sy0">=></span> <span class="nu0">4</span></span></span><span class="br0">)</span><span class="sy0">;</span> 3197 <span class="xtra li2"><span class="de2"> </span></span><span class="sy1">?></span></pre></td></tr></tbody></table> 3198 3199 <p>If you’re remotely familiar with <abbr title="PHP: HTML Preprocessor">PHP</abbr> (or even if you’re not), you can see that all that a language file consists of is 3200 a glorified variable assignment. Easy! All a language file does is assign a variable <code class="highlighted php"><span class="re0">$language_data</span></code>. Though 3201 still, there’s a lot of indices to that array… but this section is here to break each index down and explain it to you.</p> 3202 3203 <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> 3204 3205 <p>There are several conventions that are used in language files. For ease of use and readability, your language 3206 files should obey the following rules:</p> 3207 3208 <ul> 3209 <li><strong>Indentation is <em>4 spaces</em>, not tabs:</strong> Use spaces! as editors continiously screw up tabs there should be 3210 no tabs in your documents since it would look differently on every computer otherwise.</li> 3211 <li><strong>Strings are in single quotes:</strong> Every string in a language file should be in single quotes (‘), unless you are 3212 specifying a single quote as a quotemark or escape character, in which case they can be in double quotes for 3213 readability; or if you are specifying a REGEXP (see below). This ensures that the language file can be loaded 3214 as fast as possible by <abbr title="PHP: HTML Preprocessor">PHP</abbr> as unnecessary parsing can be avoided.</li> 3215 <li><strong>Large arrays are multi-lined:</strong> An array with more than three or four values should be broken into multiple 3216 lines. In any case, lines should not be wider than a full-screen window (about 100 chars per line max). 3217 Don’t break the keywords arrays after every keyword.</li> 3218 <li><strong>Ending brackets for multi-lined arrays on a new line:</strong> Also with a comma after them, unless the array is 3219 the last one in a parent array. See the <abbr title="PHP: HTML Preprocessor">PHP</abbr> language file for examples of where to use commas.</li> 3220 <li><strong>Use <abbr title="Generic Syntax Highlighter">GeSHi</abbr>’s constants:</strong> For capatalisation, regular expressions etc. use the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants, <em>not</em> 3221 their actual values.</li> 3222 <li><strong>Verbatim header format:</strong> Copy the file header verbatim from other language files and modify the values 3223 afterwards. Don’t try to invent own header formats, as your languages else will fail validation!</li> 3224 </ul> 3225 3226 <p>There are more notes on each convention where it may appear in the language file sections below.</p> 3227 3228 <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> 3229 3230 <p>This section will look at all the sections of a language file, and how they relate to the final highlighting result.</p> 3231 3232 <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> 3233 3234 <p>The <em>header</em> of a language file is the first lines with the big comment and the start of the variable 3235 <code class="highlighted php"><span class="re0">$language_data</span></code>:</p> 3236 3237 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3238 <span class="xtra li2"><span class="de2">2</span></span>3 3239 <span class="xtra li2"><span class="de2">4</span></span>5 3240 <span class="xtra li2"><span class="de2">6</span></span>7 3241 <span class="xtra li2"><span class="de2">8</span></span>9 3242 <span class="xtra li2"><span class="de2">10</span></span>11 3243 <span class="xtra li2"><span class="de2">12</span></span>13 3244 <span class="xtra li2"><span class="de2">14</span></span>15 3245 <span class="xtra li2"><span class="de2">16</span></span>17 3246 <span class="xtra li2"><span class="de2">18</span></span>19 3247 <span class="xtra li2"><span class="de2">20</span></span>21 3248 <span class="xtra li2"><span class="de2">22</span></span>23 3249 <span class="xtra li2"><span class="de2">24</span></span>25 3250 <span class="xtra li2"><span class="de2">26</span></span>27 3251 <span class="xtra li2"><span class="de2">28</span></span>29 3252 <span class="xtra li2"><span class="de2">30</span></span>31 3253 <span class="xtra li2"><span class="de2">32</span></span>33 3254 <span class="xtra li2"><span class="de2">34</span></span>35 3255 <span class="xtra li2"><span class="de2">36</span></span>37 3256 <span class="xtra li2"><span class="de2">38</span></span>39 3257 <span class="xtra li2"><span class="de2">40</span></span>41 3258 <span class="xtra li2"><span class="de2">42</span></span>43 3259 </pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span> 3260 <span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * <name-of-language-file.php></span> 3261 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * ---------------------------------</span></span></span><span class="coMULTI"> * Author: <name> (<e-mail address>)</span> 3262 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Copyright: (c) 2008 <name> (<website URL>)</span></span></span><span class="coMULTI"> * Release Version: <GeSHi release></span> 3263 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: <date started></span></span></span><span class="coMULTI"> *</span> 3264 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <name-of-language> language file for GeSHi.</span></span></span><span class="coMULTI"> *</span> 3265 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <any-comments...></span></span></span><span class="coMULTI"> *</span> 3266 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span> 3267 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <date-of-release> (<GeSHi release>)</span></span></span><span class="coMULTI"> * - First Release</span> 3268 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated <date-of-release>)</span> 3269 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * -------------------------</span></span></span><span class="coMULTI"> * <things-to-do></span> 3270 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span> 3271 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span> 3272 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * GeSHi is free software; you can redistribute it and/or modify</span> 3273 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * it under the terms of the GNU General Public License as published by</span></span></span><span class="coMULTI"> * the Free Software Foundation; either version 2 of the License, or</span> 3274 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span> 3275 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * GeSHi is distributed in the hope that it will be useful,</span></span></span><span class="coMULTI"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 3276 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></span></span><span class="coMULTI"> * GNU General Public License for more details.</span> 3277 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * You should have received a copy of the GNU General Public License</span> 3278 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * along with GeSHi; if not, write to the Free Software</span></span></span><span class="coMULTI"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span> 3279 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span> 3280 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$language_data</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a> <span class="br0">(</span></pre></td></tr></tbody></table> 3281 3282 <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> 3283 3284 <p>Here are the parts you should change:</p> 3285 3286 <ul> 3287 <li><code><name-of-language-file.php></code> - This should become the name of your language file. Language file names are in 3288 lower case and contain only alphanumeric characters, dashes and underscores. Language files end with .php (which 3289 you should put with the name of your language file, eg language.php)</li> 3290 <li><code><name></code> - Your name, or alias.</li> 3291 <li><code><e-mail address></code> - Your e-mail address. If you want your language file included with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> you <em>must</em> 3292 include an e-mail address that refers to an inbox controlled by you.</li> 3293 <li><code><website></code> - A URL of a website of yours (perhaps to a page that deals with your contribution to <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, or 3294 your home page/blog)</li> 3295 <li><code><date-started></code> - The date you started working on the language file. If you can’t remember, guestimate.</li> 3296 <li><code><name-of-language></code> - The name of the language you made this language file for (probably similar to 3297 the language file name).</li> 3298 <li><code><any-comments></code> - Any comments you have to make about this language file, perhaps on where you got the keywords for, 3299 what dialect of the language this language file is for etc etc. If you don’t have any comments, remove the space for them.</li> 3300 <li><code><date-of-release</code> - The date you released the language file to the public. If you simply send it to me for inclusion 3301 in a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> and don’t release it, leave this blank, and I’ll replace it with the date of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> release that 3302 it is first added to.</li> 3303 <li><code><GeSHi release></code> - This is the version of the release that will contain the changes you made. 3304 So if you have version 1.0.8 of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> running this will be the next version to be released, e.g. 1.0.8.1.</li> 3305 </ul> 3306 3307 <p>Everything should remain the same.</p> 3308 3309 <p><strong>Also:</strong> I’m not sure about the copyright on a new language file. I’m not a lawyer, could someone contact me about 3310 whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a 3311 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> release)?</p> 3312 3313 <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> 3314 3315 <p>Here is an example from the php language file of the first indices:</p> 3316 3317 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3318 <span class="xtra li2"><span class="de2">2</span></span>3 3319 <span class="xtra li2"><span class="de2">4</span></span>5 3320 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'LANG_NAME'</span> <span class="sy0">=></span> <span class="st_h">'PHP'</span><span class="sy0">,</span> 3321 <span class="xtra li2"><span class="de2"><span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'//'</span><span class="sy0">,</span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'#'</span><span class="br0">)</span><span class="sy0">,</span></span></span><span class="st_h">'COMMENT_MULTI'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'/*'</span> <span class="sy0">=></span> <span class="st_h">'*/'</span><span class="br0">)</span><span class="sy0">,</span> 3322 <span class="xtra li2"><span class="de2"><span class="st_h">'CASE_KEYWORDS'</span> <span class="sy0">=></span> GESHI_CAPS_NO_CHANGE<span class="sy0">,</span></span></span><span class="st_h">'QUOTEMARKS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st_h">'"'</span><span class="br0">)</span><span class="sy0">,</span> 3323 <span class="xtra li2"><span class="de2"><span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <span class="st_h">'\\'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3324 3325 <p>The first indices are the first few lines of a language file before the KEYWORDS index. These indices specify:</p> 3326 3327 <ul> 3328 <li><strong>‘LANG_NAME’</strong>: The name of the language. This name should be a human-readable version of the name 3329 (e.g. <abbr title="Hypertext Markup Language">HTML</abbr> 4 (transitional) instead of html4trans)</li> 3330 <li><strong>‘COMMENT_SINGLE’:</strong> An array of single-line comments in your language, indexed by integers starting 3331 from 1. A single line comment is a comment that starts at the marker and goes until the end of the line. These 3332 comments may be any length > 0, and since they can be styled individually, can be used for other things than comments 3333 (for example the Java language file defines “import” as a single line comment). If you are making a language that 3334 uses a ’ (apostrophe) as a comment (or in the comment marker somewhere), use double quotes. e.g.: “’”</li> 3335 <li><strong>‘COMMENT_MULTI’:</strong> Used to specify multiline comments, an array in the form ‘OPEN’ => ‘CLOSE’. Unfortunately, 3336 all of these comments you add here will be styled the same way (an area of improvement for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.2.X). 3337 These comment markers may be any length > 0.</li> 3338 <li><strong>‘CASE_KEYWORDS’:</strong> Used to set whether the case of keywords should be changed automatically as they are found. 3339 For example, in an SQL or BASIC dialect you may want all keywords to be upper case. The accepted values for this are:</li> 3340 <li><code>GESHI_CAPS_UPPER</code>: Convert the case of all keywords to upper case.</li> 3341 <li><code>GESHI_CAPS_LOWER</code>: Convert the case of all keywords to lower case.</li> 3342 <li><code>GESHI_CAPS_NO_CHANGE</code>: Don’t change the case of any keyword.</li> 3343 <li><strong>‘QUOTEMARKS’:</strong> Specifies the characters that mark the beginning and end of a string. This is another example 3344 where if your language includes the ’ string delimiter you should use double quotes around it.</li> 3345 <li><strong>‘ESCAPE_CHAR’:</strong> Specifies the escape character used in all strings. If your language does not have an escape 3346 character then make this the empty string (<code>''</code>). This is not an array! If found, any character after an 3347 escape character and the escape character itself will be highlighted differently, and the character after the 3348 escape character cannot end a string.</li> 3349 </ul> 3350 3351 <p>In some language files you might see here other indices too, but those are dealt with later on.</p> 3352 3353 <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> 3354 3355 <p>Keywords will make up the bulk of a language file. In this part you add keywords for your language, including 3356 inbuilt functions, data types, predefined constants etc etc.</p> 3357 3358 <p>Here’s a (shortened) example from the php language file:</p> 3359 3360 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3361 <span class="xtra li2"><span class="de2">2</span></span>3 3362 <span class="xtra li2"><span class="de2">4</span></span>5 3363 <span class="xtra li2"><span class="de2">6</span></span>7 3364 <span class="xtra li2"><span class="de2">8</span></span>9 3365 <span class="xtra li2"><span class="de2">10</span></span>11 3366 <span class="xtra li2"><span class="de2">12</span></span>13 3367 <span class="xtra li2"><span class="de2">14</span></span>15 3368 <span class="xtra li2"><span class="de2">16</span></span>17 3369 <span class="xtra li2"><span class="de2">18</span></span>19 3370 <span class="xtra li2"><span class="de2">20</span></span>21 3371 <span class="xtra li2"><span class="de2">22</span></span>23 3372 <span class="xtra li2"><span class="de2">24</span></span>25 3373 <span class="xtra li2"><span class="de2">26</span></span>27 3374 <span class="xtra li2"><span class="de2">28</span></span>29 3375 <span class="xtra li2"><span class="de2">30</span></span>31 3376 <span class="xtra li2"><span class="de2">32</span></span>33 3377 <span class="xtra li2"><span class="de2">34</span></span>35 3378 <span class="xtra li2"><span class="de2">36</span></span>37 3379 <span class="xtra li2"><span class="de2">38</span></span>39 3380 <span class="xtra li2"><span class="de2">40</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3381 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'as'</span><span class="sy0">,</span> <span class="st_h">'break'</span><span class="sy0">,</span> <span class="st_h">'case'</span><span class="sy0">,</span> <span class="st_h">'do'</span><span class="sy0">,</span> <span class="st_h">'else'</span><span class="sy0">,</span> <span class="st_h">'elseif'</span><span class="sy0">,</span> <span class="st_h">'endif'</span><span class="sy0">,</span> 3382 <span class="xtra li2"><span class="de2"> <span class="st_h">'endswitch'</span><span class="sy0">,</span> <span class="st_h">'endwhile'</span><span class="sy0">,</span> <span class="st_h">'for'</span><span class="sy0">,</span> <span class="st_h">'foreach'</span><span class="sy0">,</span> <span class="st_h">'if'</span><span class="sy0">,</span> <span class="st_h">'include'</span><span class="sy0">,</span></span></span> <span class="st_h">'include_once'</span><span class="sy0">,</span> <span class="st_h">'require'</span><span class="sy0">,</span> <span class="st_h">'require_once'</span><span class="sy0">,</span> <span class="st_h">'return'</span><span class="sy0">,</span> 3383 <span class="xtra li2"><span class="de2"> <span class="st_h">'switch'</span><span class="sy0">,</span> <span class="st_h">'while'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3384 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'&lt;/script>'</span><span class="sy0">,</span> <span class="st_h">'&lt;?'</span><span class="sy0">,</span> <span class="st_h">'&lt;?php'</span><span class="sy0">,</span> <span class="st_h">'&lt;script language='</span><span class="sy0">,</span> 3385 <span class="xtra li2"><span class="de2"> <span class="st_h">'?>'</span><span class="sy0">,</span> <span class="st_h">'class'</span><span class="sy0">,</span> <span class="st_h">'default'</span><span class="sy0">,</span> <span class="st_h">'DEFAULT_INCLUDE_PATH'</span><span class="sy0">,</span> <span class="st_h">'E_ALL'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_COMPILE_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_COMPILE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_CORE_ERROR'</span><span class="sy0">,</span> 3386 <span class="xtra li2"><span class="de2"> <span class="st_h">'E_CORE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_PARSE'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_USER_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_USER_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_USER_WARNING'</span><span class="sy0">,</span> 3387 <span class="xtra li2"><span class="de2"> <span class="st_h">'E_WARNING'</span><span class="sy0">,</span> <span class="st_h">'false'</span><span class="sy0">,</span> <span class="st_h">'function'</span><span class="sy0">,</span> <span class="st_h">'new'</span><span class="sy0">,</span> <span class="st_h">'null'</span><span class="sy0">,</span></span></span> <span class="st_h">'PEAR_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PEAR_INSTALL_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_BINDIR'</span><span class="sy0">,</span> 3388 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_CONFIG_FILE_PATH'</span><span class="sy0">,</span> <span class="st_h">'PHP_DATADIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span> 3389 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_OUTPUT_HANDLER_CONT'</span><span class="sy0">,</span> <span class="st_h">'PHP_OUTPUT_HANDLER_END'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_OUTPUT_HANDLER_START'</span><span class="sy0">,</span> <span class="st_h">'PHP_SYSCONFDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_VERSION'</span><span class="sy0">,</span> 3390 <span class="xtra li2"><span class="de2"> <span class="st_h">'true'</span><span class="sy0">,</span> <span class="st_h">'var'</span><span class="sy0">,</span> <span class="st_h">'__CLASS__'</span><span class="sy0">,</span> <span class="st_h">'__FILE__'</span><span class="sy0">,</span> <span class="st_h">'__FUNCTION__'</span><span class="sy0">,</span></span></span> <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span> 3391 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3392 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_create'</span><span class="sy0">,</span> <span class="st_h">'xml_parser_create_ns'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_parser_free'</span><span class="sy0">,</span> <span class="st_h">'xml_parser_get_option'</span><span class="sy0">,</span> 3393 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_parser_set_option'</span><span class="sy0">,</span> <span class="st_h">'xml_parse_into_struct'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_character_data_handler'</span><span class="sy0">,</span> <span class="st_h">'xml_set_default_handler'</span><span class="sy0">,</span> 3394 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_element_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_end_namespace_decl_handler'</span><span class="sy0">,</span> 3395 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_notation_decl_handler'</span><span class="sy0">,</span> <span class="st_h">'xml_set_object'</span><span class="sy0">,</span> 3396 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span> 3397 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_unparsed_entity_decl_handler'</span><span class="sy0">,</span> <span class="st_h">'yp_all'</span><span class="sy0">,</span> <span class="st_h">'yp_cat'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_errno'</span><span class="sy0">,</span> <span class="st_h">'yp_err_string'</span><span class="sy0">,</span> <span class="st_h">'yp_first'</span><span class="sy0">,</span> 3398 <span class="xtra li2"><span class="de2"> <span class="st_h">'yp_get_default_domain'</span><span class="sy0">,</span> <span class="st_h">'yp_master'</span><span class="sy0">,</span> <span class="st_h">'yp_match'</span><span class="sy0">,</span> <span class="st_h">'yp_next'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_order'</span><span class="sy0">,</span> <span class="st_h">'zend_logo_guid'</span><span class="sy0">,</span> <span class="st_h">'zend_version'</span><span class="sy0">,</span> 3399 <span class="xtra li2"><span class="de2"> <span class="st_h">'zlib_get_coding_type'</span></span></span> <span class="br0">)</span> 3400 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3401 3402 <p>You can see that the index ‘KEYWORDS’ refers to an array of arrays, indexed by positive integers. In each array, 3403 there are some keywords (in the actual php language file there is in fact many more keywords in the array indexed by 3). 3404 Here are some points to note about these keywords:</p> 3405 3406 <ul> 3407 <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, 3408 use positive integers only. Using strings here results in unnecessary overhead degrading performance when 3409 highlighting code with your language file!</li> 3410 <li><strong>Keywords sorted ascending:</strong> Keywords <em>should</em> be sorted in <em>ascending</em> order. This is mainly for 3411 readability. An issue with versions before 1.0.8 has been solved, so the reverse sorting order 3412 is no longer required and should thus be avoided. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself sorts the keywords internally when 3413 building some of its caches, so the order doesn’t matter, but makes things easier to read and maintain.</li> 3414 <li><strong>Keywords are case sensitive (sometimes):</strong> If your language is case-sensitive, the correct casing of the 3415 keywords is defined as the case of the keywords in these keyword arrays. If you check the java language file you 3416 will see that everything is in exact casing. So if any of these keyword arrays are case sensitive, put the 3417 keywords in as their correct case! (note that which groups are case sensitive and which are not is configurable, 3418 see later on). If a keyword group is case insensitive, put the lowercase version of the keyword here 3419 <strong>OR</strong> in case documentation links require a special casing (other than all lowercase or all uppercase) 3420 the casing required for them use their casing.</li> 3421 <li><strong>Keywords must be in <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code> form:</strong> All keywords should be written as if they had been 3422 run through the php function <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code>. E.g, the keyword is <code class="highlighted html4strict"><span class="sc1">&lt;</span>foo<span class="sc1">&gt;</span></code>, not 3423 <code class="highlighted html4strict"><span class="sc2"><foo></span></code></li> 3424 <li><strong>Don’t use keywords to highlight symbols:</strong> Just don’t!!! It doesn’t work, and there is seperate support 3425 for symbols since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21.</li> 3426 <li><strong>Markup Languages are special cases:</strong> Check the html4strict language file for an example: You need to tweak 3427 the Parser control here to tell the surroundings of tagnames. In case of doubt, feel free to ask.</li> 3428 </ul> 3429 3430 <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> 3431 3432 <p>So you’ve put all the keywords for your language in? Now for a breather before we style them :). Symbols define 3433 what symbols your language uses. These are things like colons, brackets/braces, and other such general punctuation. 3434 No alphanumeric stuff belongs here, just the same as no symbols belong into the keywords section.</p> 3435 3436 <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> 3437 3438 <dl> 3439 <dt>Flat usage:</dt> 3440 <dd>This mode is the suggested way for existing language files and languages that only need few symbols where no 3441 further differentiation is needed or desired. You simply put all the characters in an array under symbols as shown 3442 in the first example below. All symbols in flat usage belong to symbol style group 0.</dd> 3443 3444 <dt>Group usage:</dt> 3445 <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 3446 each containing only a subset of the symbols to highlight. Every array will need to have an unique index thus 3447 you can assign the appropriate styles later.</dd> 3448 </dl> 3449 3450 <p>Here’s an example for flat symbol usage</p> 3451 3452 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3453 <span class="xtra li2"><span class="de2">2</span></span>3 3454 </pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3455 <span class="xtra li2"><span class="de2"> <span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="sy0">,</span> <span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="sy0">,</span> <span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'<'</span><span class="sy0">,</span> <span class="st_h">'>'</span></span></span><span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table> 3456 3457 <p>which is not too different from the newly introduced group usage shown below:</p> 3458 3459 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3460 <span class="xtra li2"><span class="de2">2</span></span>3 3461 <span class="xtra li2"><span class="de2">4</span></span>5 3462 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3463 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="br0">)</span><span class="sy0">,</span> 3464 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'&lt;'</span><span class="sy0">,</span> <span class="st_h">'>'</span><span class="br0">)</span> 3465 <span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3466 3467 <div class="note"> 3468 3469 <div class="note-header">Note:</div> 3470 3471 <p>Please note that versions before 1.0.7.21 will silently ignore this setting.</p> 3472 3473 <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 3474 heavily scrambled code output.</p> 3475 3476 </div> 3477 3478 <p>The following case sensitivity group alludes to the keywords section: here you can set which keyword groups are case sensitive.</p> 3479 3480 <p>In the <strong>‘CASE_SENSITIVE’</strong> group there’s a special key <code>GESHI_COMMENTS</code> which is used to set whether comments are 3481 case sensitive or not (for example, BASIC has the REM statement which while not being case sensitive is still alphanumeric, and 3482 as in the example given before about the Java language file using “import” as a single line comment, this can be 3483 useful sometimes. <strong>true</strong> if comments are case sensitive, <strong>false</strong> otherwise. All of the other indices 3484 correspond to indices in the <code>'KEYWORDS'</code> section (see above).</p> 3485 3486 <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> 3487 3488 <p>This is the fun part! Here you get to choose the colours, fonts, backgrounds and anything else you’d like for your 3489 language file.</p> 3490 3491 <p>Here’s an example:</p> 3492 3493 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3494 <span class="xtra li2"><span class="de2">2</span></span>3 3495 <span class="xtra li2"><span class="de2">4</span></span>5 3496 <span class="xtra li2"><span class="de2">6</span></span>7 3497 <span class="xtra li2"><span class="de2">8</span></span>9 3498 <span class="xtra li2"><span class="de2">10</span></span>11 3499 <span class="xtra li2"><span class="de2">12</span></span>13 3500 <span class="xtra li2"><span class="de2">14</span></span>15 3501 <span class="xtra li2"><span class="de2">16</span></span>17 3502 <span class="xtra li2"><span class="de2">18</span></span>19 3503 <span class="xtra li2"><span class="de2">20</span></span>21 3504 <span class="xtra li2"><span class="de2">22</span></span>23 3505 <span class="xtra li2"><span class="de2">24</span></span>25 3506 <span class="xtra li2"><span class="de2">26</span></span>27 3507 <span class="xtra li2"><span class="de2">28</span></span>29 3508 <span class="xtra li2"><span class="de2">30</span></span>31 3509 <span class="xtra li2"><span class="de2">32</span></span>33 3510 <span class="xtra li2"><span class="de2">34</span></span>35 3511 <span class="xtra li2"><span class="de2">36</span></span>37 3512 <span class="xtra li2"><span class="de2">38</span></span>39 3513 </pre></td><td class="de1"><pre class="de1"><span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3514 <span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span> 3515 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #000066;'</span> 3516 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3517 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span><span class="sy0">,</span> 3518 <span class="xtra li2"><span class="de2"> <span class="st_h">'MULTI'</span> <span class="sy0">=></span> <span class="st_h">'color: #808080; font-style: italic;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3519 <span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span> 3520 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3521 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #66cc66;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3522 <span class="xtra li2"><span class="de2"> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #ff0000;'</span> 3523 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3524 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #cc66cc;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3525 <span class="xtra li2"><span class="de2"> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #006600;'</span> 3526 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3527 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #66cc66;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3528 <span class="xtra li2"><span class="de2"> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span> 3529 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3530 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3531 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">''</span> 3532 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table> 3533 3534 <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 3535 specify (and will do so if a user tries to change your styles on the fly), so the last semi-colon in any stylesheet 3536 rule is important!</p> 3537 3538 <p>All strings here should contain valid stylesheet declarations (it’s also fine to have the empty string).</p> 3539 3540 <ul> 3541 <li><strong>‘KEYWORDS’:</strong> This is an array, from keyword index to style. The index you use is the index you used in 3542 the keywords section to specify the keywords belonging to that group.</li> 3543 <li><strong>‘COMMENTS’:</strong> This is an array, from single-line comment index to style for that index. The index ‘MULTI’ is 3544 used for multiline comments (and cannot be an array). COMMENT_REGEXP use the style given for their key as 3545 if they were single-line comments.</li> 3546 <li><strong>‘ESCAPE_CHAR’, ‘BRACKETS’ and ‘METHODS’:</strong> These are arrays with only one index: 0. You cannot add other indices to 3547 these arrays.</li> 3548 <li><strong>‘STRINGS’:</strong> This defines the various styles for the Quotemarks you defined earlier. If you don’t use 3549 multiple styles for strings there’s only one index: 0. Please also add this index in case no strings are present.</li> 3550 <li><strong>‘NUMBERS’:</strong> This sets the styles used to highlight numbers. The format used here depends on the format used to 3551 set the formats of numbers to highlight. If you just used an integer (bitmask) for numbers, you have to either 3552 specify one key with the respective constant, and\or include a key 0 as a default style. If you used an 3553 array for the number markup, copy the keys used there and assign the styles accordingly.</li> 3554 <li><strong>‘SYMBOLS’:</strong> This provides one key for each symbol group you defined above. If you used the flat usage 3555 make sure you include a key for symbols group 0.</li> 3556 <li><strong>‘REGEXPS’:</strong> This is an array with a style for each matching regex. Also, since 1.0.7.21, you can specify the 3557 name of a function to be called, that will be given the text matched by the regex, each time a match is found. 3558 Note that my testing found that <code>create_function</code> would not work with this due to a <abbr title="PHP: HTML Preprocessor">PHP</abbr> bug, so you have to 3559 put the function definition at the top of the language file. Be sure to prefix the function name 3560 with <code>geshi_[languagename]_</code> as to not conflict with other functions!</li> 3561 <li><strong>‘SCRIPT’:</strong> For languages that use script delimiters, this is where you can style each block of script. For 3562 example, <abbr title="Hypertext Markup Language">HTML</abbr> and <abbr title="Extensible Markup Language">XML</abbr> have blocks that begin with < and end with > (i.e. tags) and blocks that begin with & and 3563 end with ; (i.e. character entities), and you can set a style to apply to each whole block. You specify the 3564 delimiters for the blocks below. Note that many languages will not need this feature.</li> 3565 </ul> 3566 3567 <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> 3568 3569 <p>This section lets you specify a url to visit for each keyword group. Useful for pointing functions at their online 3570 manual entries.</p> 3571 3572 <p>Here is an example:</p> 3573 3574 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3575 <span class="xtra li2"><span class="de2">2</span></span>3 3576 <span class="xtra li2"><span class="de2">4</span></span>5 3577 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3578 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3579 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'http://www.php.net/{FNAME}'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span> 3580 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3581 3582 <p>The indices of this array correspond to the keyword groups you specified in the keywords section. The string <code>{FNAME}</code> 3583 marks where the name of the function is substituted in. So for the example above, if the keyword being highlighted is 3584 “echo”, then the keyword will be a URL pointing to <code>http://www.php.net/echo</code>. Because some languages (Java!) don’t 3585 keep a uniform URL for functions/classes, you may have trouble in creating a URL for that language (though look in the 3586 java language file for a novel solution to it’s problem)</p> 3587 3588 <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> 3589 3590 <p>If your language supports different formats of numbers (e.g. integers and float representations) and you want 3591 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to handle them differently you can select from a set of predefined formats.</p> 3592 3593 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3594 <span class="xtra li2"><span class="de2">2</span></span>3 3595 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> 3596 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_INT_CSTYLE <span class="sy0">|</span> GESHI_NUMBER_BIN_PREFIX_0B <span class="sy0">|</span></span></span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">|</span> GESHI_NUMBER_HEX_PREFIX <span class="sy0">|</span> GESHI_NUMBER_FLT_NONSCI <span class="sy0">|</span> 3597 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_FLT_NONSCI_F <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_SHORT <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_ZERO<span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3598 3599 <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. 3600 When styling you use these constants to assign the proper styles. A style not assigned will automatically fallback to style group 0.</p> 3601 3602 <div class="note"> 3603 3604 <div class="note-header">Note:</div> 3605 3606 <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> 3607 3608 </div> 3609 3610 <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> 3611 3612 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3613 <span class="xtra li2"><span class="de2">2</span></span>3 3614 <span class="xtra li2"><span class="de2">4</span></span>5 3615 <span class="xtra li2"><span class="de2">6</span></span>7 3616 </pre></td><td class="de1"><pre class="de1"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3617 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> GESHI_NUMBER_INT_BASIC <span class="sy0">|</span> GESHI_NUMBER_INT_CSTYLE<span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> GESHI_NUMBER_BIN_PREFIX_0B<span class="sy0">,</span> 3618 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> GESHI_NUMBER_OCT_PREFIX<span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> GESHI_NUMBER_HEX_PREFIX<span class="sy0">,</span> 3619 <span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> GESHI_NUMBER_FLT_NONSCI <span class="sy0">|</span> GESHI_NUMBER_FLT_NONSCI_F <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_SHORT <span class="sy0">|</span> GESHI_NUMBER_FLT_SCI_ZERO</span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table> 3620 3621 <p>This creates 5 style groups 1..5 that will highlight each of the formats specified for each group. 3622 Styling of these groups doesn’t use the constants but uses the indices you just defined.</p> 3623 3624 <p>Instead of using those predefined constants you also can assign a PCRE that matches a number when using this advanced format.</p> 3625 3626 <div class="note"> 3627 3628 <div class="note-header">Note:</div> 3629 3630 <p>The extended format hasn’t been exhaustively been tested. So beware of bugs there.</p> 3631 3632 </div> 3633 3634 <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> 3635 3636 <p>Now we’re reaching the most little-used section of a language file, which includes such goodies as object orientation 3637 support and context support. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can highlight methods and data fields of objects easily, all you need to do is to 3638 tell it to do so and what the “splitter” is between object/method etc.</p> 3639 3640 <p>Here’s an example:</p> 3641 3642 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3643 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3644 <span class="xtra li2"><span class="de2"><span class="st_h">'OBJECT_SPLITTER'</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3645 3646 <p>If your language has object orientation, the value of <code>'OOLANG'</code> is true, otherwise it is false. If it is object 3647 orientated, in the <code>'OBJECT_SPLITTER'</code> value you put the <code>htmlentities()</code> version of the “splitter” between 3648 objects and methods/fields. If it is not, then make this the empty string.</p> 3649 3650 <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> 3651 3652 <p>Regular expressions are a good way to catch any other lexic that fits certain rules but can’t be listed as a keyword. 3653 A good example is variables in <abbr title="PHP: HTML Preprocessor">PHP</abbr>: variables always start with either one or two “$” signs, then alphanumeric 3654 characters (a simplification). This is easy to catch with regular expressions.</p> 3655 3656 <p>And new to version 1.0.2, there is an advanced way of using regular expressions to catch certain things but highlight 3657 only part of those things. This is particularly useful for languages like <abbr title="Extensible Markup Language">XML</abbr>.</p> 3658 3659 <div class="caution"> 3660 3661 <div class="caution-header">Caution:</div> 3662 3663 <p>Regular expressions use the PCRE syntax (perl-style), <em>not</em> the <code class="highlighted php"><span class="kw3">ereg</span><span class="br0">(</span><span class="br0">)</span></code> style!</p> 3664 3665 </div> 3666 3667 <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> 3668 3669 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3670 <span class="xtra li2"><span class="de2">2</span></span>3 3671 <span class="xtra li2"><span class="de2">4</span></span>5 3672 <span class="xtra li2"><span class="de2">6</span></span>7 3673 <span class="xtra li2"><span class="de2">8</span></span>9 3674 <span class="xtra li2"><span class="de2">10</span></span>11 3675 <span class="xtra li2"><span class="de2">12</span></span>13 3676 <span class="xtra li2"><span class="de2">14</span></span>15 3677 </pre></td><td class="de1"><pre class="de1"><span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3678 <span class="xtra li2"><span class="de2"> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(((xml:)?[a-z\-]+))(=)'</span><span class="sy0">,</span></span></span> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span> 3679 <span class="xtra li2"><span class="de2"> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3680 <span class="xtra li2"><span class="de2"> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">'\\4'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3681 <span class="xtra li2"><span class="de2"><span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(>/?[a-z0-9]*(>)?)'</span><span class="sy0">,</span> 3682 <span class="xtra li2"><span class="de2"> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3683 <span class="xtra li2"><span class="de2"> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">''</span> 3684 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span><span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"</span></pre></td></tr></tbody></table> 3685 3686 <p>As you can see there are two formats. One is the “simple” format used in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> < 1.0.2, and the other is a more 3687 advanced syntax. Firstly, the simple syntax:</p> 3688 3689 <ul> 3690 <li><strong>May be in double quotes:</strong> To make it easier for those who always place their regular expressions in double quotes, 3691 you may place any regular expression here in double quotes if you wish.</li> 3692 <li><strong>Don’t use curly brackets where possible:</strong> If you want to use curly brackets (<code>()</code>) then by all means give it a try, 3693 but I’m not sure whether under some circumstances <abbr title="Generic Syntax Highlighter">GeSHi</abbr> may throw a wobbly. You have been warned! If you want to 3694 use brackets, it would be better to use the advanced syntax.</li> 3695 <li><strong>Don’t use the “everything” regex:</strong> (That’s the <code>.*?</code> regex). Use advanced syntax instead.</li> 3696 </ul> 3697 3698 <p>And now for advanced syntax, which gives you much more control over exactly what is highlighted:</p> 3699 3700 <ul> 3701 <li><strong>GESHI_SEARCH:</strong> This element specifies the regular expression to search for. If you plan to capture the output, 3702 use brackets (<code>()</code>). See how in the first example above, most of the regular expression is in one set of brackets 3703 (with the equals sign in other brackets). You should make sure that the part of the regular expression that is 3704 supposed to match what is highlighted is in brackets.</li> 3705 <li><strong>GESHI_REPLACE:</strong> This is what the stuff matched by the regular expression will be replaced with. If you’ve 3706 grouped the stuff you want highlighted into brackets in the GESHI_SEARCH element, then you can use <code>\\number</code> 3707 to match that group, where <code>number</code> is a number corresponding to how many open brackets are between the open 3708 bracket of the group you want highlighted and the start of the GESHI_SEARCH string + 1. This may sound confusing, 3709 and it probably is, but if you’re familiar with how <abbr title="PHP: HTML Preprocessor">PHP</abbr>’s regular expressions work you should understand. In the 3710 example above, the opening bracket for the stuff we want highlighted is the very first bracket in the string, so 3711 the number of brackets before that bracket and the start of the string is 0. So we add 1 and get our replacement 3712 string of <code>\\1</code> <small>(whew!)</small>.</li> 3713 </ul> 3714 3715 <p>If you didn’t understand a word of that, make sure that there are brackets around the string in <code>GESHI_SEARCH</code> 3716 and use <code>\\1</code> for <code>GESHI_REPLACE</code> ;)</p> 3717 3718 <ul> 3719 <li><strong>GESHI_MODIFIERS:</strong> Specify modifiers for your regular expression. If your regular expression includes the 3720 everything matcher (<code>.*?</code>), then your modifiers should include “s” and “i” (e.g. use ‘si’ for this).</li> 3721 <li><strong>GESHI_BEFORE:</strong>Specifies a bracket group that should appear before the highlighted match (this bracketed group will 3722 not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something 3723 before what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li> 3724 <li><strong>GESHI_AFTER:</strong>Specifies a bracket group that should appear after the highlighted match (this bracketed group will 3725 not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something 3726 after what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li> 3727 </ul> 3728 3729 <p>Is that totally confusing? Here’s the test for if you’re an android or not: If you found that perfectly understandable 3730 then you’re an android ;). Here’s a better example:</p> 3731 3732 <p>Let’s say that I’m making a language, and variables in this language always start with a dollar sign ($), are always 3733 written in lowercase letters and always end with an ampersand (&). eg:</p> 3734 3735 <p><code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&</span> <span class="sy0">=</span> <span class="st_h">'bar'</span></code></p> 3736 3737 <p>I want to highlight <em>only the text between the $ and the &</em>. How do I do that? With simple regular expressions I can’t, 3738 but with advanced, it’s relatively easy:</p> 3739 3740 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3741 <span class="xtra li2"><span class="de2">2</span></span>3 3742 <span class="xtra li2"><span class="de2">4</span></span>5 3743 <span class="xtra li2"><span class="de2">6</span></span>7 3744 <span class="xtra li2"><span class="de2">8</span></span>9 3745 <span class="xtra li2"><span class="de2">10</span></span>11 3746 <span class="xtra li2"><span class="de2">12</span></span>13 3747 <span class="xtra li2"><span class="de2">14</span></span></pre></td><td class="de1"><pre class="de1"><span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3748 <span class="xtra li2"><span class="de2"> <span class="co1">// search for a dollar sign, then one or more of the characters a-z, then an ampersand</span></span></span> GESHI_SEARCH <span class="sy0">=></span> <span class="st_h">'(\$)([a-z]+)(&)'</span><span class="sy0">,</span> 3749 <span class="xtra li2"><span class="de2"> <span class="co1">// we wanna highlight the characters, which are in the second bracketed group</span></span></span> GESHI_REPLACE <span class="sy0">=></span> <span class="st_h">'\\2'</span><span class="sy0">,</span> 3750 <span class="xtra li2"><span class="de2"> <span class="co1">// no modifiers, since we're not matching the "anything" regex</span></span></span> GESHI_MODIFIERS <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3751 <span class="xtra li2"><span class="de2"> <span class="co1">// before the highlighted characters should be the first</span></span></span> <span class="co1">// bracketed group (always a dollar sign in this example)</span> 3752 <span class="xtra li2"><span class="de2"> GESHI_BEFORE <span class="sy0">=></span> <span class="st_h">'\\1'</span><span class="sy0">,</span></span></span> <span class="co1">// after the highlighted characters should be the third</span> 3753 <span class="xtra li2"><span class="de2"> <span class="co1">// bracketed group (always an ampersand in this example)</span></span></span> GESHI_AFTER <span class="sy0">=></span> <span class="st_h">'\\3'</span> 3754 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3755 3756 <p>So if someone tried to highlight using my language, all cases of <code>$foo&</code> would turn into:</p> 3757 3758 <p><code class="highlighted html4strict">$<span class="sc2"><<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">"color: blue;"</span>></span>foo<span class="sc2"><<span class="sy0">/</span><span class="kw2">span</span>><<span class="kw2">span</span> <span class="kw3">style</span><span class="sy0">=</span><span class="st0">"color: green;"</span>></span><span class="sc1">&amp;</span><span class="sc2"><<span class="sy0">/</span><span class="kw2">span</span>></span></code></p> 3759 3760 <p>(which would of course be viewed in a browser to get something like <code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&</span></code>)</p> 3761 3762 <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> 3763 3764 <p>For languages like <abbr title="Hypertext Markup Language">HTML</abbr>, it’s good if we can highlight a tag (like <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">a</span>></span></code> for example). But how do we stop 3765 every single “a” in the source getting highlighted? What about for attributes? If I’ve got the word “colspan” in my 3766 text I don’t want that highlighted! So how do you tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> not to highlight in that case? You do it with “Strict Blocks”.</p> 3767 3768 <p>Here is an example:</p> 3769 3770 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3771 <span class="xtra li2"><span class="de2">2</span></span>3 3772 <span class="xtra li2"><span class="de2">4</span></span>5 3773 <span class="xtra li2"><span class="de2">6</span></span>7 3774 <span class="xtra li2"><span class="de2">8</span></span>9 3775 <span class="xtra li2"><span class="de2">10</span></span>11 3776 <span class="xtra li2"><span class="de2">12</span></span>13 3777 <span class="xtra li2"><span class="de2">14</span></span>15 3778 <span class="xtra li2"><span class="de2">16</span></span>17 3779 <span class="xtra li2"><span class="de2">18</span></span>19 3780 <span class="xtra li2"><span class="de2">20</span></span>21 3781 <span class="xtra li2"><span class="de2">22</span></span>23 3782 <span class="xtra li2"><span class="de2">24</span></span>25 3783 <span class="xtra li2"><span class="de2">26</span></span>27 3784 </pre></td><td class="de1"><pre class="de1"><span class="sy1"><?</span> <span class="coMULTI">/* ... */</span> 3785 <span class="xtra li2"><span class="de2"><span class="st_h">'STRICT_MODE_APPLIES'</span> <span class="sy0">=></span> GESHI_MAYBE<span class="sy0">,</span></span></span><span class="st_h">'SCRIPT_DELIMITERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3786 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<?php'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span> 3787 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3788 <span class="xtra li2"><span class="de2"> <span class="st_h">'<?'</span> <span class="sy0">=></span> <span class="st_h">'?>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3789 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<%'</span> <span class="sy0">=></span> <span class="st_h">'%>'</span> 3790 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3791 <span class="xtra li2"><span class="de2"> <span class="st_h">'<script language="php">'</span> <span class="sy0">=></span> <span class="st_h">'</script>'</span></span></span> <span class="br0">)</span> 3792 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st0">"/(<\?(?:php)?)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm"</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st0">"/(<%)(?:'(?:[^'<span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?'|<span class="es1">\"</span>(?:[^<span class="es1">\"</span><span class="es1">\\</span><span class="es1">\\</span>]|<span class="es1">\\</span><span class="es1">\\</span>.)*?<span class="es1">\"</span>|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"</span> 3793 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span><span class="st_h">'HIGHLIGHT_STRICT_BLOCK'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3794 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3795 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3796 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span></span></span> <span class="nu0">5</span> <span class="sy0">=></span> <span class="kw4">true</span> 3797 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span><span class="coMULTI">/* ... */</span> <span class="sy1">?></span></pre></td></tr></tbody></table> 3798 3799 <p>What is strict mode? Strict mode says that highlighting only occurs inside the blocks you specify. You can see from 3800 the example above that highlighting will only occur if the source is inside <code class="highlighted php"><span class="kw2"><?php</span> <span class="sy0">...</span> <span class="sy1">?></span></code> (though note the 3801 <code>GESHI_MAYBE</code>!). Here are some points about strict highlighting:</p> 3802 3803 <ul> 3804 <li><strong>‘STRICT_MODE_APPLIES’:</strong> This takes three values (all constants): 3805 3806 <ul> 3807 <li><code>GESHI_ALWAYS</code>: Strict mode always applies for all of the blocks you specify. Users of your language 3808 file cannot turn strict mode off. This should be used for markup languages.</li> 3809 <li><code>GESHI_NEVER</code>: Strict mode is never used. Users of your language file cannot turn strict mode on. Use this 3810 value if there is no such thing as a block of code that would not be highlighted in your language 3811 (most languages, like C, Java etc. use this because anything in a C file should be highlighted).</li> 3812 <li><code>GESHI_MAYBE</code>: Strict mode *sometimes* applies. It defaults to “off”. Users can turn strict mode on if 3813 they please. If strict mode is off then everything in the source will be highlighted, even things outside 3814 the strict block markers. If strict mode is on then nothing outside strict block markers will be highlighted.</li> 3815 </ul></li> 3816 <li><strong>‘SCRIPT_DELIMITERS’:</strong> This is an array of script delimiters, in the format of the above. The indices are use in the 3817 ‘SCRIPT’ part of the styles section for highlighting everything in a strict block in a certain way. 3818 For example, you could set up your language file to make the background yellow of any code inside a strict 3819 block this way. The delimiters are in the form <code class="highlighted php"><span class="st_h">'OPEN'</span> <span class="sy0">=></span> <span class="st_h">'CLOSE'</span></code>. Delimiters can be of any 3820 length > 0. Delimiters are <em>not</em> formatted as if they were run through <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code>!</li> 3821 <li><strong>‘HIGHLIGHT_STRICT_BLOCK’:</strong> specifies whether any highlighting should go on inside each block. Most of 3822 the time this should be true, but for example, in the <abbr title="Extensible Markup Language">XML</abbr> language file highlighting is turned off for 3823 blocks beginning with <code class="highlighted html4strict"><span class="sc0"><!DOCTYPE</span></code> and ending with <code class="highlighted html4strict">></code>. However, you can still 3824 style the overall block using the method described above, and the <abbr title="Extensible Markup Language">XML</abbr> language file does just that.</li> 3825 </ul> 3826 3827 <div class="note"> 3828 3829 <div class="note-header">Note:</div> 3830 3831 <p>The delimiters should be in <em>reverse alphabetical order</em>. Note that in the above example, <code class="highlighted php"><span class="kw2"><?php</span></code> 3832 comes before <code class="highlighted php"><span class="sy1"><?</span></code>.</p> 3833 3834 </div> 3835 3836 <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 3837 that matches <em>the full block</em> you wish to highlight. If the regular expression match starts at the same position 3838 as a previous array declaration the Regexp match is taken. This is to allow for a fall-back when a preg_match 3839 doesn’t quite work as expected so you still get reasonably well results.</p> 3840 3841 <p>If you didn’t get this, you might want to look into the <abbr title="PHP: HTML Preprocessor">PHP</abbr> or <abbr title="Hypertext Markup Language">HTML</abbr> language files as this feature is used there 3842 to fix some issues that have been there for about 3 years.</p> 3843 3844 <div class="caution"> 3845 3846 <div class="caution-header">Caution:</div> 3847 3848 <p>For <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions <4.3.3 Strict Block Regexps are completely ignored due to problems in those version 3849 that would cause loads of warning messages otherwise.</p> 3850 3851 </div> 3852 3853 <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> 3854 3855 <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. 3856 To achieve this there is an experimental section called <code class="highlighted php"><span class="st_h">'PARSER_CONTROL'</span></code> which is optional and should be used only if necessary. 3857 With the help of this section some internal parameters of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can be set which are not overrideable by the API and thus their use should be limited as much as possible.</p> 3858 3859 <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. 3860 If a given setting isn’t present the usual default values of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are used. 3861 No validation of settings is performed for these settings. Also note that unknown settings are silently ignored.</p> 3862 3863 <div class="caution"> 3864 3865 <div class="caution-header">Caution:</div> 3866 3867 <p>All <strong>PARSER_CONTROL</strong> settings are experimental and subject to change. 3868 So if you need a special setting in a public language file you should consider requesting it upstream. 3869 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> 3870 3871 </div> 3872 3873 <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. 3874 Usually <abbr title="Generic Syntax Highlighter">GeSHi</abbr> checks for a fixed set of characters like brackets and common symbols that denote the word boundary for a keyword. 3875 If this set conflicts with your language (e.g. - is allowed inside a keyword) or you want to limit the usage of a keyword to certain areas (e.g. for <abbr title="Hypertext Markup Language">HTML</abbr> tag names only match after <) you can change those conditions here.</p> 3876 3877 <p>Keyword boundary rules can either be set globally (directly within the PARSER_CONTROL’s KEYWORDS section or on a per-group basis. 3878 E.g. the following sample from the <abbr title="Hypertext Markup Language">HTML</abbr> language file sets different settings for keyword matching only for Keyword Group 2 and leaves the other groups alone.</p> 3879 3880 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3881 <span class="xtra li2"><span class="de2">2</span></span>3 3882 <span class="xtra li2"><span class="de2">4</span></span>5 3883 <span class="xtra li2"><span class="de2">6</span></span>7 3884 <span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3885 <span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3886 <span class="xtra li2"><span class="de2"> <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">'(?<=&lt;|&lt;\/)'</span><span class="sy0">,</span></span></span> <span class="st_h">'DISALLOWED_AFTER'</span> <span class="sy0">=></span> <span class="st_h">'(?=\s|\/|&gt;)'</span><span class="sy0">,</span> 3887 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span> 3888 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table> 3889 3890 <div class="note"> 3891 3892 <div class="note-header">Note:</div> 3893 3894 <p>The name <code class="highlighted php"><span class="st_h">'DISALLOWED_BEFORE'</span></code> and <code class="highlighted php"><span class="st_h">'DISALLOWED_AFTER'</span></code> might sound confusing at first, since they don’t define what to prevent, but what to match in order to find a keyword. 3895 The reason for this strange naming is based in the original implementation of this feature when Nigel implemented this in the old parser statically. 3896 When this implementation was brought out via the <strong>PARSER_CONTROL</strong> settings the original naming wasn’t altered since at that time this really was a blacklist of characters. 3897 Later on this implementation was changed from a blacklist of characters to a part of a PCRE regexp, but leaving the name. 3898 The naming might be subject to change though.</p> 3899 3900 </div> 3901 3902 <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. 3903 The following code will enable this behaviour for the whole keyword set. As said above you can choose to enable this for single keyword groups only though.</p> 3904 3905 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3906 <span class="xtra li2"><span class="de2">2</span></span>3 3907 <span class="xtra li2"><span class="de2">4</span></span>5 3908 </pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3909 <span class="xtra li2"><span class="de2"> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'SPACE_AS_WHITESPACE'</span> <span class="sy0">=></span> <span class="kw4">true</span> 3910 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span><span class="sy0">,</span></pre></td></tr></tbody></table> 3911 3912 <p>Another option of interest might be disabling certain features for a given language. 3913 This might come in handy if the language file you are working on doesn’t support a given function or highlighting certain aspects won’t work properly or would interfere with custom implementations using regular expressions.</p> 3914 3915 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3916 <span class="xtra li2"><span class="de2">2</span></span>3 3917 <span class="xtra li2"><span class="de2">4</span></span>5 3918 <span class="xtra li2"><span class="de2">6</span></span>7 3919 <span class="xtra li2"><span class="de2">8</span></span>9 3920 <span class="xtra li2"><span class="de2">10</span></span>11 3921 <span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3922 <span class="xtra li2"><span class="de2"> <span class="st_h">'ENABLE_FLAGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'ALL'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span> 3923 <span class="xtra li2"><span class="de2"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span> 3924 <span class="xtra li2"><span class="de2"> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span> 3925 <span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span> 3926 <span class="xtra li2"><span class="de2"> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> GESHI_NEVER<span class="sy0">,</span></span></span> <span class="br0">)</span> 3927 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table> 3928 3929 <p>Inside the <code class="highlighted php"><span class="st_h">'ENABLE_FLAGS'</span></code> section follows an array of <code class="highlighted php"><span class="st_h">'name'</span><span class="sy0">=></span>value</code> pairs. 3930 Valid names are the sections below the <code class="highlighted php"><span class="st_h">'STYLES'</span></code> section (well, not exactly, but you can look there for what the features are called inside <abbr title="Generic Syntax Highlighter">GeSHi</abbr>). 3931 Valid values are the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> constants <code class="highlighted php">GESHI_NEVER</code> (don’t process this feature), <code class="highlighted php">GESHI_ALWAYS</code> (always process this feature, ignore the user) and <code class="highlighted php">GESHI_MAYBE</code> (listen to the user if he want’s this highlighted). 3932 The value <code class="highlighted php">GESHI_MAYBE</code> is the default one and thus needs not to be set explicitely.</p> 3933 3934 <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> 3935 3936 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3937 <span class="xtra li2"><span class="de2">2</span></span>3 3938 <span class="xtra li2"><span class="de2">4</span></span>5 3939 </pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3940 <span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENTS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'DISALLOWED_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">'$'</span> 3941 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table> 3942 3943 <p>With the current implementation the DISALLOWED_BEFORE COMMENT-specific setting is a list of characters. But this is subject to change.</p> 3944 3945 <div class="note"> 3946 3947 <div class="note-header">Note:</div> 3948 3949 <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> 3950 3951 </div> 3952 3953 <p>Another <strong>PARSER_CONTROL</strong> setting for the environment around certain syntactic constructs refers to the handling of object-oriented languages.</p> 3954 3955 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3956 <span class="xtra li2"><span class="de2">2</span></span>3 3957 <span class="xtra li2"><span class="de2">4</span></span>5 3958 <span class="xtra li2"><span class="de2">6</span></span>7 3959 </pre></td><td class="de1"><pre class="de1"> <span class="st_h">'PARSER_CONTROL'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3960 <span class="xtra li2"><span class="de2"> <span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'MATCH_BEFORE'</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3961 <span class="xtra li2"><span class="de2"> <span class="st_h">'MATCH_AFTER'</span> <span class="sy0">=></span> <span class="st_h">'[a-zA-Z_][a-zA-Z0-9_]*'</span><span class="sy0">,</span></span></span> <span class="st_h">'MATCH_SPACES'</span> <span class="sy0">=></span> <span class="st_h">'[\s]*'</span> 3962 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table> 3963 3964 <div class="caution"> 3965 3966 <div class="caution-header">Caution:</div> 3967 3968 <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> 3969 3970 </div> 3971 3972 <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> 3973 3974 <p>All language files should end with:</p> 3975 3976 <table class="php geshicode"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3977 <span class="xtra li2"><span class="de2">2</span></span>3 3978 </pre></td><td class="de1"><pre class="de1"><span class="br0">)</span><span class="sy0">;</span> 3979 <span class="xtra li2"><span class="de2"> </span></span><span class="sy1">?></span></pre></td></tr></tbody></table> 3980 3981 <p>That is the string content <code class="highlighted php"><span class="st0">"<span class="es1">\n</span>);<span class="es1">\n</span>?><span class="es1">\n</span>"</span></code>.</p> 3982 3983 <div class="caution"> 3984 3985 <div class="caution-header">Caution:</div> 3986 3987 <p>Make sure that there is EXACTLY one linebreak character at the end. If you accidentially include more 3988 you might end up with messages like “Headers already sent”.</p> 3989 3990 </div> 3991 3992 <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> 3993 3994 <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 3995 language files it finds in the geshi/ subdirectory of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> installation for mistakes.</p> 3996 3997 <p>Please make sure that your language does not contain any mistakes that this script shows you when sending in 3998 your language file for inclusion into the official release as this saves work for us when including your file. 3999 Also you can be sure your language file will work as expected once your language file validates correctly.</p> 4000 4001 <p>Please note that not all of the language files shipped with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are fully valid yet, but we’re working on it 4002 and are happy about every patch we get!</p> 4003 4004 <h2 id="method-constant-reference">5 Method/Constant Reference</h2><div class="nav"><a href="#lang-validation">Previous</a></div> 4005 4006 <p>I’m afraid I have been lying for a little while about this now! Since 1.0.7 I have been including a phpdoc API for 4007 the sourcecode in the <a href="api/index.html">api</a> directory, but have forgot to update the documentation! However, it is available, 4008 and may assist you in coding, especially for plugin coders.</p> 4009 4010 <hr /> 4011 4012 <p>That’s all, folks!</p> 4013 4014 <p>I’ve improved the documentation greatly from version 1.0.1, but there may still be problems with it, or it may still 4015 be confusing for you. Or perhaps I was just plain wrong about one point! If so, contact me and I’ll do my best to sort it out.</p> 4016 4017 <p>In case you were wondering, I’ve finished development of the 1.0.X thread of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. The only releases I’ll make in this 4018 thread will be of the bug-fix/add language files type. In particular, version 1.0.2 was a “concept” release - testing 4019 how far I could take the highlighting idea (as well as ideas from others).</p> 4020 4021 <p>I’m planning a code rewrite for 1.2.X, which will be based on a new engine - a “psuedo-tokenizer” engine. Hopefully 4022 it will massively reduce the server load and time taken (by almost eliminating regexps), while providing 4023 superior highlighting. But fear not! The interface and method names should all remain the same ^_^ (though I can’t 4024 say the same for language files!)</p> 4025 4026 <p>And finally, a couple of people have been asking me: how did you generate that documentation? The amazing answer is: my 4027 brain. And yes, it took a long time, and I don’t recommend doing it this way. And yes, you can borrow the styles if 4028 you like, though flick me an e-mail if you do.</p> 4029 4030 <p>Anyway, enough blather from me. Get <abbr title="Generic Syntax Highlighter">GeSHi</abbr> working for you already! :D</p> 4031 4032 <div class="header"> 4033 4034 <dl> 4035 <dt>Authors:</dt> 4036 <dd>© 2004 - 2007 <a href="mailto:[email protected]">Nigel McNie</a></dd> 4037 4038 <dd>© 2007 - 2012 <a href="mailto:[email protected]">Benny Baumann</a></dd> 4039 4040 <dd>© 2008 - 2009 <a href="mailto:[email protected]">Milian Wolff</a></dd> 4041 4042 <dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt> 4043 <dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd> 4044 </dl> 4045 4046 </div> 4047 4048 <div class="footnotes"> 4049 <hr /> 4050 <ol> 4051 4052 <li id="fn:xhtml-strict"> 4053 <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 4054 to use one of the other header types instead. <a href="#fnref:xhtml-strict" rev="footnote">↩</a></p> 4055 </li> 4056 4057 <li id="fn:php-version-note"> 4058 <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 4059 work due to a lack of test systems. If you are forced to use such old <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions complain at your hoster or 4060 contact us if you find compatibility issues so we can try to resolve them. It’s only <abbr title="PHP: HTML Preprocessor">PHP</abbr> 4.4.X and above that 4061 is verified to work. <a href="#fnref:php-version-note" rev="footnote">↩</a></p> 4062 </li> 4063 4064 <li id="fn:phpbb-note"> 4065 <p>I am no longer working on this MOD, however if someone else wants to they can contact me for more 4066 information. <a href="#fnref:phpbb-note" rev="footnote">↩</a></p> 4067 </li> 4068 4069 <li id="fn:plugin-only"> 4070 <p>Available as plugin only. In addition, some of the other entries mentioned 4071 here may only have <abbr title="Generic Syntax Highlighter">GeSHi</abbr> available as a plugin. <a href="#fnref:plugin-only" rev="footnote">↩</a></p> 4072 </li> 4073 4074 </ol> 4075 </div> 4076 </body> 4077 </html>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |