1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 4 <head> 5 <title>GeSHi Documentation 1.0.8.3</title> 6 7 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 8 <meta name="keywords" content="GeSHi, syntax, highlighter, colorizer, beautifier, code, generic, php, sql, css, html, syntax, highlighting, documentation" /> 9 <meta name="description" content="GeSHi - Generic Syntax Highlighter for PHP. Highlight many languages, including PHP, CSS, HTML, SQL, Java and C for XHTML compliant output using this easy PHP Class. Every aspect of the highlighting is customisable, from colours and other styles to case-sensitivity checking and more. GeSHi - the best syntax highlighter in the world!" /> 10 11 <style type="text/css"> 12 html { 13 background-color: #e6e6e6; 14 } 15 body { 16 font-family: Verdana, Arial, sans-serif; 17 margin: 10px; 18 border: 2px solid #d0d0d0; 19 background-color: #f6f6f6; 20 padding: 10px; 21 } 22 p, ul, ol, div, blockquote, dt, dd { 23 font-size: 80%; 24 line-height: 140%; 25 letter-spacing: 1px; 26 color: #002; 27 } 28 dt { 29 font-weight: bold; 30 } 31 acronym { 32 border-bottom: 1px dotted #303030; 33 cursor: help; 34 } 35 blockquote { 36 font-weight: bold; 37 } 38 pre, .geshicode { 39 border: 1px solid #c0e6ff; 40 background-color: #e0e8ef; 41 color: #002; 42 margin:0; 43 font-size: 12px; 44 width:100%; 45 } 46 table { 47 border-collapse:collapse; 48 } 49 .geshicode pre { 50 border:none; 51 background-color:inherit; 52 font-weight:bold; 53 } 54 .geshicode .li2 td { 55 background-color:#eee; 56 } 57 .geshicode .li1 td { 58 background-color:#fff; 59 } 60 .geshicode td td { 61 padding:0 2px; 62 } 63 .geshicode td, .geshicode table { 64 width: 100%; 65 } 66 .geshicode td.ln { 67 border-right:2px solid #e0e8ef; 68 } 69 .geshicode .head { 70 text-align:center; 71 font-weight:bold; 72 } 73 code, tt, kbd { 74 font-size: 125%; 75 font-weight:normal; 76 } 77 hr { 78 height: 0; 79 border: none; 80 border-top: 1px dotted #404040; 81 width: 75%; 82 } 83 var { 84 color: blue; font-style: normal; font-family: monospace; 85 } 86 li { 87 padding-top: 2px; 88 } 89 ul ul, ol ol, div ul, div ol { 90 font-size:100%; 91 } 92 .note { 93 border: 1px solid yellow; 94 background-color: #ffc; 95 color: #220; 96 padding: 5px; 97 margin: 1em 0 0 .75em; 98 } 99 .caution { 100 border: 6px double red; 101 background-color: #fcc; 102 color: #200; 103 padding: 5px; 104 margin: 1em 0 0 .75em; 105 } 106 .caution p:first-child, .note p:first-child { 107 margin-top: 0; 108 } 109 .caution-header { 110 border: 1px solid red; 111 border-width: 1px 2px 2px 1px; 112 margin-top: -1.6em; 113 background-color: #fcc; 114 width: 10%; 115 font-weight: bold; 116 text-align: center; 117 color: #600; 118 } 119 .note-header { 120 border: 1px solid #ff0; 121 border-width: 1px 2px 2px 1px; 122 margin-top: -1.2em; 123 background-color: #ffc; 124 width: 10%; 125 font-weight: bold; 126 text-align: center; 127 color: #660; 128 } 129 .nav { 130 font-size: 70%; 131 } 132 .nav a { 133 color: #707070; 134 border: 1px solid #a0a0a0; 135 border-width: 0 1px 1px 1px; 136 border-top: 1px dotted #c0c0c0; 137 text-decoration: none; 138 padding: 1px 2px; 139 background-color: #e0e0e0; 140 -moz-border-radius-bottomleft: 3px; 141 -moz-border-radius-bottomright: 3px; 142 } 143 h1, #contents { 144 margin-top: 0; 145 margin-bottom: 0; 146 text-align: center; 147 color: #404060; 148 } 149 #contents { 150 text-align:left; 151 background:none; 152 border:none; 153 } 154 h2 { 155 border-bottom: 1px dotted #b0b0b0; 156 margin-top: 2em; 157 border-top: 1px dotted #b0b0b0; 158 background-color: #ddd; 159 margin-bottom: 0; 160 } 161 h3 { 162 margin-top: 1.6em; 163 border-bottom: 1px dotted #c0c0c0; 164 margin-bottom: 0; 165 } 166 h4 { 167 border-bottom: 1px dotted #d0d0d0; 168 margin-top: 1.2em; 169 margin-bottom: 0; 170 } 171 h2, h3, h4 { 172 color: #707070; 173 font-weight: normal; 174 } 175 a { 176 color: #7777ff; 177 } 178 sup a { 179 text-decoration: none; 180 } 181 abbr { 182 cursor: help; 183 } 184 .header p { 185 text-align: center; 186 border-bottom: 1px dotted #d0d0d0; 187 } 188 189 .header dl { 190 background-color: #e0e8ef; 191 color: #002; 192 padding: 5px; 193 } 194 195 .header img { 196 float: right; 197 margin:2.5em 1em 0 0; 198 } 199 200 /** 201 * GeSHi Dynamically Generated Stylesheet 202 * -------------------------------------- 203 * Dynamically generated stylesheet for bash 204 * CSS class: , CSS id: 205 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 206 * (http://qbnz.com/highlighter/ and http://geshi.org/) 207 * -------------------------------------- 208 */ 209 .bash .de1, .bash .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 210 .bash {font-family:monospace;} 211 .bash .imp {font-weight: bold; color: red;} 212 .bash li, .bash .li1 {font-weight: normal; vertical-align:top;} 213 .bash .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 214 .bash .li2 {font-weight: bold; vertical-align:top;} 215 .bash .kw1 {color: #000000; font-weight: bold;} 216 .bash .kw2 {color: #c20cb9; font-weight: bold;} 217 .bash .kw3 {color: #7a0874; font-weight: bold;} 218 .bash .co0 {color: #666666; font-style: italic;} 219 .bash .co1 {color: #800000;} 220 .bash .co2 {color: #cc0000; font-style: italic;} 221 .bash .co3 {color: #000000; font-weight: bold;} 222 .bash .es1 {color: #000099; font-weight: bold;} 223 .bash .es2 {color: #007800;} 224 .bash .es3 {color: #007800;} 225 .bash .es4 {color: #007800;} 226 .bash .es5 {color: #780078;} 227 .bash .es_h {color: #000099; font-weight: bold;} 228 .bash .br0 {color: #7a0874; font-weight: bold;} 229 .bash .sy0 {color: #000000; font-weight: bold;} 230 .bash .st0 {color: #ff0000;} 231 .bash .st_h {color: #ff0000;} 232 .bash .nu0 {color: #000000;} 233 .bash .re0 {color: #007800;} 234 .bash .re1 {color: #007800;} 235 .bash .re2 {color: #007800;} 236 .bash .re4 {color: #007800;} 237 .bash .re5 {color: #660033;} 238 .bash .ln-xtra, .bash li.ln-xtra, .bash div.ln-xtra {background-color: #ffc;} 239 .bash span.xtra { display:block; } 240 241 /** 242 * GeSHi Dynamically Generated Stylesheet 243 * -------------------------------------- 244 * Dynamically generated stylesheet for php 245 * CSS class: , CSS id: 246 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 247 * (http://qbnz.com/highlighter/ and http://geshi.org/) 248 * -------------------------------------- 249 */ 250 .php .de1, .php .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 251 .php {font-family:monospace;} 252 .php .imp {font-weight: bold; color: red;} 253 .php li, .php .li1 {font-weight: normal; vertical-align:top;} 254 .php .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 255 .php .li2 {font-weight: bold; vertical-align:top;} 256 .php .kw1 {color: #b1b100;} 257 .php .kw2 {color: #000000; font-weight: bold;} 258 .php .kw3 {color: #990000;} 259 .php .kw4 {color: #009900; font-weight: bold;} 260 .php .co1 {color: #666666; font-style: italic;} 261 .php .co2 {color: #666666; font-style: italic;} 262 .php .co3 {color: #0000cc; font-style: italic;} 263 .php .co4 {color: #009933; font-style: italic;} 264 .php .coMULTI {color: #666666; font-style: italic;} 265 .php .es0 {color: #000099; font-weight: bold;} 266 .php .es1 {color: #000099; font-weight: bold;} 267 .php .es2 {color: #660099; font-weight: bold;} 268 .php .es3 {color: #660099; font-weight: bold;} 269 .php .es4 {color: #006699; font-weight: bold;} 270 .php .es5 {color: #006699; font-weight: bold; font-style: italic;} 271 .php .es6 {color: #009933; font-weight: bold;} 272 .php .es_h {color: #000099; font-weight: bold;} 273 .php .br0 {color: #009900;} 274 .php .sy0 {color: #339933;} 275 .php .sy1 {color: #000000; font-weight: bold;} 276 .php .st0 {color: #0000ff;} 277 .php .st_h {color: #0000ff;} 278 .php .nu0 {color: #cc66cc;} 279 .php .nu8 {color: #208080;} 280 .php .nu12 {color: #208080;} 281 .php .nu19 {color:#800080;} 282 .php .me1 {color: #004000;} 283 .php .me2 {color: #004000;} 284 .php .re0 {color: #000088;} 285 .php .ln-xtra, .php li.ln-xtra, .php div.ln-xtra {background-color: #ffc;} 286 .php span.xtra { display:block; } 287 288 /** 289 * GeSHi Dynamically Generated Stylesheet 290 * -------------------------------------- 291 * Dynamically generated stylesheet for html4strict 292 * CSS class: , CSS id: 293 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 294 * (http://qbnz.com/highlighter/ and http://geshi.org/) 295 * -------------------------------------- 296 */ 297 .html4strict .de1, .html4strict .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 298 .html4strict {font-family:monospace;} 299 .html4strict .imp {font-weight: bold; color: red;} 300 .html4strict li, .html4strict .li1 {font-weight: normal; vertical-align:top;} 301 .html4strict .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 302 .html4strict .li2 {font-weight: bold; vertical-align:top;} 303 .html4strict .kw2 {color: #000000; font-weight: bold;} 304 .html4strict .kw3 {color: #000066;} 305 .html4strict .es0 {color: #000099; font-weight: bold;} 306 .html4strict .br0 {color: #66cc66;} 307 .html4strict .sy0 {color: #66cc66;} 308 .html4strict .st0 {color: #ff0000;} 309 .html4strict .nu0 {color: #cc66cc;} 310 .html4strict .sc-1 {color: #808080; font-style: italic;} 311 .html4strict .sc0 {color: #00bbdd;} 312 .html4strict .sc1 {color: #ddbb00;} 313 .html4strict .sc2 {color: #009900;} 314 .html4strict .ln-xtra, .html4strict li.ln-xtra, .html4strict div.ln-xtra {background-color: #ffc;} 315 .html4strict span.xtra { display:block; } 316 317 /** 318 * GeSHi Dynamically Generated Stylesheet 319 * -------------------------------------- 320 * Dynamically generated stylesheet for css 321 * CSS class: , CSS id: 322 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 323 * (http://qbnz.com/highlighter/ and http://geshi.org/) 324 * -------------------------------------- 325 */ 326 .css .de1, .css .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 327 .css {font-family:monospace;} 328 .css .imp {font-weight: bold; color: red;} 329 .css li, .css .li1 {font-weight: normal; vertical-align:top;} 330 .css .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 331 .css .li2 {font-weight: bold; vertical-align:top;} 332 .css .kw1 {color: #000000; font-weight: bold;} 333 .css .kw2 {color: #993333;} 334 .css .co1 {color: #a1a100;} 335 .css .co2 {color: #ff0000; font-style: italic;} 336 .css .coMULTI {color: #808080; font-style: italic;} 337 .css .es0 {color: #000099; font-weight: bold;} 338 .css .br0 {color: #00AA00;} 339 .css .sy0 {color: #00AA00;} 340 .css .st0 {color: #ff0000;} 341 .css .nu0 {color: #cc66cc;} 342 .css .re0 {color: #cc00cc;} 343 .css .re1 {color: #6666ff;} 344 .css .re2 {color: #3333ff;} 345 .css .re3 {color: #933;} 346 .css .ln-xtra, .css li.ln-xtra, .css div.ln-xtra {background-color: #ffc;} 347 .css span.xtra { display:block; } 348 349 /** 350 * GeSHi Dynamically Generated Stylesheet 351 * -------------------------------------- 352 * Dynamically generated stylesheet for java 353 * CSS class: , CSS id: 354 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann 355 * (http://qbnz.com/highlighter/ and http://geshi.org/) 356 * -------------------------------------- 357 */ 358 .java .de1, .java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;} 359 .java {font-family:monospace;} 360 .java .imp {font-weight: bold; color: red;} 361 .java li, .java .li1 {font-weight: normal; vertical-align:top;} 362 .java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} 363 .java .li2 {font-weight: bold; vertical-align:top;} 364 .java .kw1 {color: #000000; font-weight: bold;} 365 .java .kw2 {color: #000066; font-weight: bold;} 366 .java .kw3 {color: #003399;} 367 .java .kw4 {color: #000066; font-weight: bold;} 368 .java .co1 {color: #666666; font-style: italic;} 369 .java .co2 {color: #006699;} 370 .java .co3 {color: #008000; font-style: italic; font-weight: bold;} 371 .java .coMULTI {color: #666666; font-style: italic;} 372 .java .es0 {color: #000099; font-weight: bold;} 373 .java .br0 {color: #009900;} 374 .java .sy0 {color: #339933;} 375 .java .st0 {color: #0000ff;} 376 .java .nu0 {color: #cc66cc;} 377 .java .me1 {color: #006633;} 378 .java .me2 {color: #006633;} 379 .java .ln-xtra, .java li.ln-xtra, .java div.ln-xtra {background-color: #ffc;} 380 .java span.xtra { display:block; } 381 382 383 </style> 384 </head> 385 <body> 386 <h1 id="top"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Documentation</h1> 387 388 <div class="header"> 389 390 <p>Version 1.0.8.3</p> 391 392 <p><img src="http://qbnz.com/highlighter/images/geshi.png" alt="The GeSHi Logo" /></p> 393 394 <dl> 395 <dt>Authors:</dt> 396 <dd>© 2004 - 2007 <a href="mailto:nigel (a] geshi.org">Nigel McNie</a></dd> 397 398 <dd>© 2007 - 2009 <a href="mailto:BenBE (a] omorphia.de">Benny Baumann</a></dd> 399 400 <dd>© 2008 - 2009 <a href="mailto:mail (a] milianw.de">Milian Wolff</a></dd> 401 402 <dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt> 403 <dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd> 404 </dl> 405 406 </div> 407 408 <p>This is the documentation for <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - Generic Syntax Highlighter.</p> 409 410 <p>The most modern version of this document is available on the web - 411 go to <a href="http://qbnz.com/highlighter/documentation.php">http://qbnz.com/highlighter/documentation.php</a> to view it.</p> 412 413 <p>Any comments, questions, confusing points? Please <a href="#feedback">get in contact</a> with the developers! We 414 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) 415 a breeze.</p> 416 417 <h2 id="contents">Contents</h2> 418 419 <div id="toc"><ul> 420 <li><a href="#introduction">1 Introduction</a><ul> 421 <li><a href="#features">1.1 Features</a></li> 422 <li><a href="#about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 423 <li><a href="#credits">1.3 Credits</a></li> 424 <li><a href="#feedback">1.4 Feedback</a></li> 425 </ul></li> 426 <li><a href="#the-basics">2 The Basics</a><ul> 427 <li><a href="#getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</a><ul> 428 <li><a href="#requirements">2.1.1 Requirements</a></li> 429 <li><a href="#downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 430 <li><a href="#extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 431 <li><a href="#installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></a></li> 432 </ul></li> 433 <li><a href="#basic-usage">2.2 Basic Usage</a></li> 434 </ul></li> 435 <li><a href="#advanced-features">3 Advanced Features</a><ul> 436 <li><a href="#the-code-container">3.1 The Code Container</a></li> 437 <li><a href="#line-numbers">3.2 Line Numbers</a><ul> 438 <li><a href="#enabling-line-numbers">3.2.1 Enabling Line Numbers</a></li> 439 <li><a href="#styling-line-numbers">3.2.2 Styling Line Numbers</a></li> 440 <li><a href="#starting-line-numbers">3.2.3 Choosing a Start Number</a></li> 441 </ul></li> 442 <li><a href="#using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a><ul> 443 <li><a href="#enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</a></li> 444 <li><a href="#setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</a></li> 445 <li><a href="#getting-stylesheet">3.3.3 Getting the stylesheet for your code</a></li> 446 <li><a href="#using-an-external-stylesheet">3.3.4 Using an External Stylesheet</a></li> 447 </ul></li> 448 <li><a href="#changing-styles">3.4 Changing Styles</a><ul> 449 <li><a href="#the-overall-styles">3.4.1 The Overall Styles</a></li> 450 <li><a href="#line-number-styles">3.4.2 Line Number Styles</a></li> 451 <li><a href="#setting-keyword-styles">3.4.3 Setting Keyword Styles</a></li> 452 <li><a href="#setting-comment-styles">3.4.4 Setting Comment Styles</a></li> 453 <li><a href="#setting-other-styles">3.4.5 Setting Other Styles</a></li> 454 </ul></li> 455 <li><a href="#case-caps">3.5 Case Sensitivity and Auto Casing</a><ul> 456 <li><a href="#auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</a></li> 457 <li><a href="#setting-case-sensitivity">3.5.2 Setting Case Sensitivity</a></li> 458 </ul></li> 459 <li><a href="#changing-config">3.6 Changing the Source, Language, Config Options</a><ul> 460 <li><a href="#changing-the-source">3.6.1 Changing the Source Code</a></li> 461 <li><a href="#changing-the-language">3.6.2 Changing the Language</a></li> 462 <li><a href="#changing-the-path">3.6.3 Changing the Language Path</a></li> 463 <li><a href="#changing-the-charset">3.6.4 Changing the Character Set</a></li> 464 </ul></li> 465 <li><a href="#error-handling">3.7 Error Handling</a></li> 466 <li><a href="#disabling-lexics">3.8 Disabling styling of some Lexics</a></li> 467 <li><a href="#setting-tab-width">3.9 Setting the Tab Width</a></li> 468 <li><a href="#using-strict-mode">3.10 Using Strict Mode</a></li> 469 <li><a href="#adding-removing-keywords">3.11 Adding/Removing Keywords</a><ul> 470 <li><a href="#adding-a-keyword">3.11.1 Adding a Keyword</a></li> 471 <li><a href="#removing-a-keyword">3.11.2 Removing a Keyword</a></li> 472 <li><a href="#adding-a-keyword-group">3.11.3 Adding a Keyword Group</a></li> 473 <li><a href="#removing-a-keyword-group">3.11.4 Removing a Keyword Group</a></li> 474 </ul></li> 475 <li><a href="#headers-and-footers">3.12 Headers and Footers for Your Code</a><ul> 476 <li><a href="#keyword-substitution">3.12.1 Keyword Substitution</a></li> 477 <li><a href="#setting-header-content">3.12.2 Setting Header Content</a></li> 478 <li><a href="#setting-footer-content">3.12.3 Setting Footer Content</a></li> 479 <li><a href="#styling-header-content">3.12.4 Styling Header Content</a></li> 480 <li><a href="#styling-footer-content">3.12.5 Styling Footer Content</a></li> 481 </ul></li> 482 <li><a href="#keyword-urls">3.13 Keyword URLs</a><ul> 483 <li><a href="#setting-a-url">3.13.1 Setting a URL for a Keyword Group</a></li> 484 <li><a href="#disabling-urls">3.13.2 Disabling a URL for a Keyword Group</a></li> 485 <li><a href="#disabling-all-urls">3.13.3 Disabling all URLs for Keywords</a></li> 486 <li><a href="#styling-links">3.13.4 Styling Links</a></li> 487 <li><a href="#using-targets">3.13.5 Setting the Link Target</a></li> 488 </ul></li> 489 <li><a href="#using-contextual-importance">3.14 Using Contextual Importance</a></li> 490 <li><a href="#highlighting-special-lines-extra">3.15 Highlighting Special Lines “Extra”</a><ul> 491 <li><a href="#specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</a></li> 492 <li><a href="#styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</a></li> 493 </ul></li> 494 <li><a href="#adding-ids-to-each-line">3.16 Adding IDs to Each Line</a></li> 495 <li><a href="#getting-the-time-of-styling">3.17 Getting the Time of Styling</a></li> 496 </ul></li> 497 <li><a href="#language-files">4 Language Files</a><ul> 498 <li><a href="#language-file-example">4.1 An Example Language File</a></li> 499 <li><a href="#language-file-conventions">4.2 Language File Conventions</a></li> 500 <li><a href="#language-file-sections">4.3 Language File Sections</a><ul> 501 <li><a href="#language-file-header">4.3.1 The Header</a></li> 502 <li><a href="#language-file-start-indices">4.3.2 The First Indices</a></li> 503 <li><a href="#language-file-keywords">4.3.3 Keywords</a></li> 504 <li><a href="#language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</a></li> 505 <li><a href="#language-file-styles">4.3.5 Styles for your Language File</a></li> 506 <li><a href="#language-file-urls">4.3.6 URLs for Functions</a></li> 507 <li><a href="#language-file-numbers-support">4.3.7 Number Highlighting Support</a></li> 508 <li><a href="#language-file-oo-support">4.3.8 Object Orientation Support</a></li> 509 <li><a href="#language-file-regexps">4.3.9 Using Regular Expressions</a></li> 510 <li><a href="#language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</a></li> 511 <li><a href="#language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</a></li> 512 <li><a href="#language-file-tidying-up">4.3.12 Tidying Up</a></li> 513 </ul></li> 514 <li><a href="#lang-validation">4.4 Validating your language file</a></li> 515 </ul></li> 516 <li><a href="#method-constant-reference">5 Method/Constant Reference</a></li> 517 </ul> 518 </div> 519 520 <h2 id="introduction">1 Introduction</h2><div class="nav"><a href="#features">Next</a></div> 521 522 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is exactly what the acronym stands for: a <strong>Generic Syntax Highlighter</strong>. As long 523 as you have a language file for almost any computer language - whether it be a 524 scripting language, object orientated, markup or anything in between - <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can 525 highlight it! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is extremely customisable - the same source can be highlighted 526 multiple times in multiple ways - the same source even with a different language. 527 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> outputs XHTML strict compliant code<sup id="fnref:xhtml-strict"><a href="#fn:xhtml-strict" rel="footnote">1</a></sup>, and can 528 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 529 <a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a>. That’s all!</p> 530 531 <h3 id="features">1.1 Features</h3><div class="nav"><a href="#introduction">Previous</a> | <a href="#introduction">Top</a> | <a href="#about-geshi">Next</a></div> 532 533 <p>Here are some of the standout features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>:</p> 534 535 <dl> 536 <dt>Programmed in <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</dt> 537 <dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is coded entirely in <abbr title="PHP: HTML Preprocessor">PHP</abbr>. This means that where ever you have <abbr title="PHP: HTML Preprocessor">PHP</abbr>, you 538 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> 539 540 <dt>Support for many languages:</dt> 541 <dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> comes with more than <em>100</em> languages, including <abbr title="PHP: HTML Preprocessor">PHP</abbr>, <abbr title="Hypertext Markup Language">HTML</abbr>, <abbr title="Cascading Style Sheets">CSS</abbr>, Java, C, Lisp, <abbr title="Extensible Markup Language">XML</abbr>, Perl, Python, 542 <abbr title="Assembly language">ASM</abbr> and many more!</dd> 543 544 <dt>XHTML compliant output:</dt> 545 <dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> produces XHTML compliant output, using stylesheets, so you need not worry about 546 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> ruining your claims to perfection in the standards department ;)</dd> 547 548 <dt>Highly customisable:</dt> 549 <dd><abbr title="Generic Syntax Highlighter">GeSHi</abbr> allows you to change the style of the output on the fly, use <abbr title="Cascading Style Sheets">CSS</abbr> classes or not, use an external 550 stylesheet or not, use line numbering, change the case of output keywords… the list goes on and on!</dd> 551 552 <dt>Flexible:</dt> 553 <dd>Unfortunately, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is quite load/time intensive for large blocks of code. However, you want speed? 554 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 - 555 it’s easy to strike a balance that suits you.</dd> 556 </dl> 557 558 <p>This is just a taste of what you get with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - the best syntax highlighter for the web in the world!</p> 559 560 <h3 id="about-geshi">1.2 About <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h3><div class="nav"><a href="#features">Previous</a> | <a href="#introduction">Top</a> | <a href="#credits">Next</a></div> 561 562 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> started as a mod for the <a href="http://phpbb.net"><abbr title="PHP Burning Board">phpBB</abbr></a> forum system, to enable highlighting of more 563 languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an 564 entire project on its own. But now it has been released, work continues on a mod 565 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> 566 567 <p>Several systems are using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now, including:</p> 568 569 <ul> 570 <li><a href="http://www.splitbrain.org/docuwiki/">Dokuwiki</a> - An advanced wiki engine</li> 571 <li><a href="http://gtk.php.net/">gtk.php.net</a> - Their manual uses <abbr title="Generic Syntax Highlighter">GeSHi</abbr> for syntax highlighting</li> 572 <li><a href="http://www.wordpress.org/">WordPress</a> - A powerful blogging system<sup id="fnref:plugin-only"><a href="#fn:plugin-only" rel="footnote">4</a></sup></li> 573 <li><a href="http://www.php-fusion.co.uk/"><abbr title="PHP: HTML Preprocessor">PHP</abbr>-Fusion</a> - A constantly evolving CMS</li> 574 <li><a href="http://cypreess.dione.cc/sqlm">SQL Manager</a> - A Postgres DBAL</li> 575 <li><a href="http://www.mamboserver.com/">Mambo</a> - A popular open source CMS</li> 576 <li><a href="http://www.mediawiki.org/">MediaWiki</a> - A leader in Wikis[^plugin-only]</li> 577 <li><a href="http://www.tikiwiki.org/">TikiWiki</a> - A megapowerful Wiki/CMS</li> 578 <li><a href="http://www.tikipro.org/">TikiPro</a> - Another powerful Wiki based on TikiWiki</li> 579 <li><a href="http://www.wikkawiki.org/">WikkaWiki</a> - A flexible and lightweight Wiki engine</li> 580 <li><a href="http://robloach.net/projects/phpscripts/rweb/">RWeb</a> - A site-building tool</li> 581 </ul> 582 583 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is the original work of <a href="mailto:nigel (a] geshi.org">Nigel McNie</a>. The project was later handed over to <a href="mailto:BenBE (a] omorphia.de">Benny Baumann</a>. 584 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> 585 586 <h3 id="credits">1.3 Credits</h3><div class="nav"><a href="#about-geshi">Previous</a> | <a href="#introduction">Top</a> | <a href="#feedback">Next</a></div> 587 588 <p>Many people have helped out with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>, whether by creating language files, submitting bug 589 reports, suggesting new ideas or simply pointing out a new idea or something I’d missed. All 590 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> 591 file.</p> 592 593 <p>Do you want your name on this list? Why not make a language file, or submit a valid bug? Or perhaps help me with an 594 added feature I can’t get my head around, or suggest a new feature, or even port 595 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to anothe language? There’s lots you can do to help out, and I need it all :)</p> 596 597 <h3 id="feedback">1.4 Feedback</h3><div class="nav"><a href="#credits">Previous</a> | <a href="#introduction">Top</a> | <a href="#the-basics">Next</a></div> 598 599 <p>I need your feedback! <em>ANY</em>thing you have to say is fine, whether it be a query, 600 congratulations, a bug report or complaint, I don’t care! I want to make this software 601 the best it can be, and I need your help! You can contact me in the following ways:</p> 602 603 <ul> 604 <li><strong>E-mail:</strong> <a href="mailto:nigel (a] geshi.org">Nigel McNie</a>, <a href="mailto:BenBE (a] omorphia.de">Benny Baumann</a> or better yet: use the <a href="http://lists.sourceforge.net/mailman/listinfo/geshi-users">geshi-users</a> mailinglist</li> 605 <li><strong>Forums:</strong> <a href="http://sourceforge.net/forum?group_id=114997">Sourceforge.net Forums</a></li> 606 <li><strong>IRC:</strong> <a href="irc://irc.freenode.net/geshi">#geshi</a> on <a href="http://freenode.net">Freenode</a></li> 607 </ul> 608 609 <p>Remember, any help I am grateful for :)</p> 610 611 <h2 id="the-basics">2 The Basics</h2><div class="nav"><a href="#feedback">Previous</a> | <a href="#getting-geshi">Next</a></div> 612 613 <p>In this section, you’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 614 it to perform basic highlighting.</p> 615 616 <h3 id="getting-geshi">2.1 Getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> work</h3><div class="nav"><a href="#the-basics">Previous</a> | <a href="#the-basics">Top</a> | <a href="#requirements">Next</a></div> 617 618 <p>If you’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> 619 620 <h4 id="requirements">2.1.1 Requirements</h4><div class="nav"><a href="#getting-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#downloading-geshi">Next</a></div> 621 622 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> requires the following to be installable:</p> 623 624 <ul> 625 <li><strong><a href="http://php.net"><abbr title="PHP: HTML Preprocessor">PHP</abbr></a></strong>. It’s untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why 626 it won’t work with any version of <abbr title="PHP: HTML Preprocessor">PHP</abbr> above 4.3.0.</li> 627 <li><strong>Approximately 2 megabytes of space</strong>. The actual script is small - around 150K - but most of the size comes 628 from the large number of language files (over 100!). If you’re pushed for space, make sure you don’t upload to 629 your server the <code>docs/</code> or <code>contrib/</code> directory, and you may want to leave out any language files that don’t 630 take your fancy either.</li> 631 </ul> 632 633 <p>As you can see, the requirements are very small. If <abbr title="Generic Syntax Highlighter">GeSHi</abbr> does NOT work for you in a particular version of <abbr title="PHP: HTML Preprocessor">PHP</abbr>, let 634 me know why and I’ll fix it.</p> 635 636 <h4 id="downloading-geshi">2.1.2 Downloading <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#requirements">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#extracting-geshi">Next</a></div> 637 638 <p>There are several ways to get a copy of <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. The first and easiest way of all is 639 visiting <a href="http://qbnz.com/highlighter/downloads.php">http://qbnz.com/highlighter/downloads.php</a> to obtain the latest version. 640 This is suitable especially when you plan on using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on an production website 641 or otherwise need a stable copy for flawless operation.</p> 642 643 <p>If you are somewhat more sophisticated or need a feature just recently implemented 644 you might consider getting <abbr title="Generic Syntax Highlighter">GeSHi</abbr> by downloading via SVN. There are multiple ways 645 for doing so and each one has its own advantages and disadvantages. Let’s cover 646 the various locations in the SVN you might download from:</p> 647 648 <ul> 649 <li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/tags/">https://geshi.svn.sourceforge.net/svnroot/geshi/tags/</a>:<br /> 650 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 651 in case something has been broken recently.</li> 652 <li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/">https://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/</a>:<br /> 653 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 654 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 655 actual release once the work is done.</li> 656 <li><a href="https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/">https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/</a>:<br /> 657 This directory is the working directory where every new feature, patch or improvement is committed to. This directory is updated regularly, but is not 658 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 659 will be loads of them here! So this is absolutely <strong>not recommended</strong> for productive use!</li> 660 </ul> 661 662 <p>If you have choosen the right SVN directory for you do a quick 663 <code class="highlighted bash"><span class="kw2">svn</span> <span class="kw2">co</span> <span class="re1">$SVNPATH</span> geshi</code> where <code class="highlighted bash"><span class="re1">$SVNPATH</span></code> is one of the above paths and your desired version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be 664 downloaded into an subdirectory called “geshi”. If you got a version of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 665 you can go on installing as shown below.</p> 666 667 <h4 id="extracting-geshi">2.1.3 Extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#downloading-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#installing-geshi">Next</a></div> 668 669 <p>Packages come in <code>.zip</code>, <code>.tar.gz</code> and <code>.tar.bz2</code> format, so there’s no complaining about whether it’s available for 670 you. *nix users probably want <code>.tar.gz</code> or <code>.tar.bz2</code> and windows users probably want <code>.zip</code>. 671 And those lucky to download it directly from SVN don’t even need to bother extracting <abbr title="Generic Syntax Highlighter">GeSHi</abbr>.</p> 672 673 <p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Linux (<code>.tar.gz</code>):</p> 674 675 <ol> 676 <li>Open a shell</li> 677 <li><code class="highlighted bash"><span class="kw3">cd</span></code> to the directory where the archive lies</li> 678 <li>Type <code class="highlighted bash"><span class="kw2">tar</span> <span class="re5">-xzvf</span> <span class="br0">[</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> 679 <li><abbr title="Generic Syntax Highlighter">GeSHi</abbr> will be extracted to its own directory</li> 680 </ol> 681 682 <p>To extract <abbr title="Generic Syntax Highlighter">GeSHi</abbr> in Windows (<code>.zip</code>):</p> 683 684 <ol> 685 <li>Open Explorer</li> 686 <li>Navigate to the directory where the archive lies</li> 687 <li>Extract the archive. The method you use will depend on your configuration. Some people can right-click upon 688 the archive and select “Extract” from there, others may have to drag the archive and drop it upon an extraction program.</li> 689 </ol> 690 691 <p>To extract from <code>.zip</code> you’ll need an unzipping program - <code class="highlighted bash"><span class="kw2">unzip</span></code> in Linux, or 7-Zip, WinZip, WinRAR or similar for Windows.</p> 692 693 <h4 id="installing-geshi">2.1.4 Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr></h4><div class="nav"><a href="#extracting-geshi">Previous</a> | <a href="#getting-geshi">Top</a> | <a href="#basic-usage">Next</a></div> 694 695 <p>Installing <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is a snap, even for those most new to <abbr title="PHP: HTML Preprocessor">PHP</abbr>. There’s no tricks involved. Honest!</p> 696 697 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> is nothing more than a <abbr title="PHP: HTML Preprocessor">PHP</abbr> class with related language support files. Those of you familiar with <abbr title="PHP: HTML Preprocessor">PHP</abbr> can then 698 guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you 699 like in this include path. I recommend that you put the language files in a subdirectory of your include path too - 700 perhaps the same subdirectory that geshi.php is in. <strong>Remember this path</strong> for later.</p> 701 702 <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 703 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> 704 705 <pre><code>http://mysite.com/myfolder/geshi/[language files] 706 http://mysite.com/myfolder/geshi.php 707 </code></pre> 708 709 <p>Or you can put it in any subdirectory you like:</p> 710 711 <pre><code>http://mysite.com/myfolder/includes/geshi/[language files] 712 http://mysite.com/myfolder/includes/geshi.php 713 </code></pre> 714 715 <div class="caution"> 716 717 <div class="caution-header">Caution:</div> 718 719 <p>When using <abbr title="Generic Syntax Highlighter">GeSHi</abbr> on a live site, the only directory required is the <code>geshi/</code> subdirectory. Both <code>contrib/</code> and <code>docs/</code> are 720 worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3). 721 I suggest you delete these directories from any live site they are on.</p> 722 723 </div> 724 725 <h3 id="basic-usage">2.2 Basic Usage</h3><div class="nav"><a href="#installing-geshi">Previous</a> | <a href="#the-basics">Top</a> | <a href="#advanced-features">Next</a></div> 726 727 <p>Use of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is very easy. Here’s a simple example:</p> 728 729 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 730 <span class="xtra li2"><span class="de2">2</span></span>3 731 <span class="xtra li2"><span class="de2">4</span></span>5 732 <span class="xtra li2"><span class="de2">6</span></span>7 733 <span class="xtra li2"><span class="de2">8</span></span>9 734 <span class="xtra li2"><span class="de2">10</span></span>11 735 <span class="xtra li2"><span class="de2">12</span></span>13 736 <span class="xtra li2"><span class="de2">14</span></span>15 737 <span class="xtra li2"><span class="de2">16</span></span>17 738 <span class="xtra li2"><span class="de2">18</span></span>19 739 <span class="xtra li2"><span class="de2">20</span></span>21 740 <span class="xtra li2"><span class="de2">22</span></span>23 741 <span class="xtra li2"><span class="de2">24</span></span>25 742 <span class="xtra li2"><span class="de2">26</span></span>27 743 <span class="xtra li2"><span class="de2">28</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">//</span> 744 <span class="xtra li2"><span class="de2"><span class="co1">// Include the GeSHi library</span></span></span><span class="co1">//</span> 745 <span class="xtra li2"><span class="de2"><span class="kw1">include_once</span> <span class="st_h">'geshi.php'</span><span class="sy0">;</span></span></span> 746 <span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span><span class="co1">// Define some source to highlight, a language to use</span> 747 <span class="xtra li2"><span class="de2"><span class="co1">// and the path to the language files</span></span></span><span class="co1">//</span> 748 <span class="xtra li2"><span class="de2"> </span></span><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'$foo = 45;</span> 749 <span class="xtra li2"><span class="de2"><span class="st_h">for ( $i = 1; $i < $foo; $i++ )</span></span></span><span class="st_h">{</span> 750 <span class="xtra li2"><span class="de2"><span class="st_h"> echo "$foo\n";</span></span></span><span class="st_h"> --$foo;</span> 751 <span class="xtra li2"><span class="de2"><span class="st_h">}'</span><span class="sy0">;</span></span></span><span class="re0">$language</span> <span class="sy0">=</span> <span class="st_h">'php'</span><span class="sy0">;</span> 752 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">//</span> 753 <span class="xtra li2"><span class="de2"><span class="co1">// Create a GeSHi object</span></span></span><span class="co1">//</span> 754 <span class="xtra li2"><span class="de2"> </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> 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">// And echo the result!</span></span></span><span class="co1">//</span> 757 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></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> 758 759 <p>As you can see, there’s only three really important lines:</p> 760 761 <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> 762 763 <p>This line includes the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> class for use</p> 764 765 <p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</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> 766 767 <p>This line creates a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object, holding the source and the language you want to use for highlighting.</p> 768 769 <p><code class="highlighted php"><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></code></p> 770 771 <p>This line spits out the result :)</p> 772 773 <p>So as you can see, simple usage of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is really easy. Just create a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object and get the code!</p> 774 775 <p>Since version 1.0.2, there is a function included with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> called <code>geshi_highlight</code>. This behaves exactly as the php 776 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 777 path to the language files as well as the source. Here are some examples:</p> 778 779 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 780 <span class="xtra li2"><span class="de2">2</span></span>3 781 <span class="xtra li2"><span class="de2">4</span></span>5 782 <span class="xtra li2"><span class="de2">6</span></span>7 783 <span class="xtra li2"><span class="de2">8</span></span>9 784 <span class="xtra li2"><span class="de2">10</span></span>11 785 <span class="xtra li2"><span class="de2">12</span></span>13 786 <span class="xtra li2"><span class="de2">14</span></span>15 787 <span class="xtra li2"><span class="de2">16</span></span>17 788 <span class="xtra li2"><span class="de2">18</span></span>19 789 <span class="xtra li2"><span class="de2">20</span></span>21 790 </pre></td><td class="de1"><pre class="de1"><span class="co1">// Simply echo the highlighted code</span> 791 <span class="xtra li2"><span class="de2">geshi_highlight<span class="br0">(</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> 792 <span class="xtra li2"><span class="de2"><span class="co1">// Get the code back, for use later</span></span></span><span class="re0">$code</span> <span class="sy0">=</span> geshi_highlight<span class="br0">(</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> 793 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Check if there is an error with parsing this code</span> 794 <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> 795 <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> 796 <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> 797 <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> 798 <span class="xtra li2"><span class="de2"> <span class="co1">// There was an error with highlighting...</span></span></span><span class="br0">}</span> 799 <span class="xtra li2"><span class="de2"><span class="kw1">else</span></span></span><span class="br0">{</span> 800 <span class="xtra li2"><span class="de2"> <span class="co1">// All OK :)</span></span></span><span class="br0">}</span></pre></td></tr></tbody></table> 801 802 <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>. 803 If you want to learn more, continue on to section 3: Advanced Features.</p> 804 805 <h2 id="advanced-features">3 Advanced Features</h2><div class="nav"><a href="#basic-usage">Previous</a> | <a href="#the-code-container">Next</a></div> 806 807 <p>This section documents the advanced features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> - strict mode, using <abbr title="Cascading Style Sheets">CSS</abbr> classes, changing styles on the fly, 808 disabling highlighting of some things and more.</p> 809 810 <p>In this section there are many code snippets. For all of these, you should assume that the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> library has been 811 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 812 source, language and path used are arbitary.</p> 813 814 <h3 id="the-code-container">3.1 The Code Container</h3><div class="nav"><a href="#advanced-features">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#line-numbers">Next</a></div> 815 816 <p>The <strong>Code Container</strong> has a fundamental effect on the layout of your code before you even begin to style. What is the 817 Code Container? It’s the bit of markup that goes around your code to contain it. By default your code is surrounded 818 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> 819 820 <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 821 “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 822 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 823 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 824 you source code (and your valuable visitors waiting time and your bandwidth).</p> 825 826 <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 827 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 828 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 829 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 830 <em>not</em> wrap lines if you please. The highlighter demo at the <a href="http://qbnz.com/highlighter"><abbr title="Generic Syntax Highlighter">GeSHi</abbr> home page</a> uses the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> 831 approach for this reason.</p> 832 833 <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 834 <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 835 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> 836 837 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.2 there is a new header type, that specifies that the code should not be wrapped in anything at all.</p> 838 839 <p>Another requested addition has been made in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.20 to force <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to create a block around the highlighted 840 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 841 the code only even if headers and footers are present.</p> 842 843 <p>To change/set the header to use, you call the <strong><code class="highlighted php">set_header_type<span class="br0">(</span><span class="br0">)</span></code></strong> method. It has one required argument which 844 defines the container type. Available are:</p> 845 846 <dl> 847 <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> 848 <dd> 849 <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> 850 sequences (i.e. one whitespace and the html entity of a non-breaking whitespace) to keep your indendation level 851 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. 852 Linenumbers are created using an ordered list.</p> 853 </dd> 854 855 <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> 856 <dd> 857 <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 858 this header produces less overhead then the <code>GESHI_HEADER_DIV</code> header type. Since linenumbers are still 859 created using an ordered list this header type produces <strong>invalid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p> 860 </dd> 861 862 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 863 <dd><em><small>Available since 1.0.8</small></em></dd> 864 865 <dd> 866 <p>When linenumbers are disabled, this behaves just like <code>GESHI_HEADER_PRE</code>. In the other case though, a 867 <code class="highlighted html4strict"><span class="sc2"><<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 868 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 869 output is <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong>.</p> 870 </dd> 871 872 <dt><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 873 <dd><em><small>Available since 1.0.8</small></em></dd> 874 875 <dd> 876 <p>Once again a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code> tag wraps the output. This time though no ordered list is used to create an ordered list, 877 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 878 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 879 <code>GESHI_HEADER_PRE</code>.</p> 880 </dd> 881 882 <dd> 883 <p>This produces <strong>valid <abbr title="Hypertext Markup Language">HTML</abbr></strong> and works around the nasty selection behaviour of Firefox and other Gecko based 884 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> 885 </dd> 886 887 <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> 888 <dd><em><small>Available since 1.0.7.2</small></em></dd> 889 890 <dd> 891 <p>No wrapper is added.</p> 892 </dd> 893 </dl> 894 895 <p>Those are the only arguments you should pass to <code class="highlighted php">set_header_type</code>. Passing anything else may cause inconsistencies 896 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> 897 898 <div class="note"> 899 900 <div class="note-header">Note:</div> 901 902 <p>GESHI_HEADER_DIV, GESHI_HEADER_PRE, etc. are <em>constants</em>, so don’t put them in strings!</p> 903 904 </div> 905 906 <div class="caution"> 907 908 <div class="caution-header">Caution:</div> 909 910 <p>The default styles for the <code class="highlighted html4strict"><span class="sc2"><<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 911 line numbers!</p> 912 913 <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 914 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 915 difference for if you are changing the header type!</p> 916 917 </div> 918 919 <h3 id="line-numbers">3.2 Line Numbers</h3><div class="nav"><a href="#the-code-container">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#enabling-line-numbers">Next</a></div> 920 921 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> has the ability to add line numbers to your code (see the demo available at <a href="http://qbnz.com/highlighter/demo.php">http://qbnz.com/highlighter/demo.php</a> 922 to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the 923 fancy line numbers feature.</p> 924 925 <p>There are multiple methods for highlighting line numbers, but none of them is perfect. Of the various ways to highlight 926 line numbers <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself implements 2 different approaches, but allows you 927 by the way it generates the code to do the line numbers yourself if necessary - but more on this case later.</p> 928 929 <p>The easiest approach is using the <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">ol</span>></span></code>-tag for generating the line numbers, but 930 even though this is the easiest one there’s a big drawback with this one when 931 using Gecko-engine based browsers like Firefox or Konqueror. In these browsers 932 this approach will select the line numbers along with the code or will include extra markup in the selection.</p> 933 934 <p>The other approach has been implemented in the 1.0.8 release of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> with the <code class="highlighted php">GESHI_HEADER_PRE_TABLE</code> header type. 935 When using this header type the line numbers are rendered apart from the source 936 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. 937 This approach works with Firefox and other Gecko-based browsers so far although extreme care 938 has to be taken when applying styles to your source as Windows has some fonts 939 where bold font is of different height than normal or italic text of the same fontface.</p> 940 941 <h4 id="enabling-line-numbers">3.2.1 Enabling Line Numbers</h4><div class="nav"><a href="#line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#styling-line-numbers">Next</a></div> 942 943 <p>To highlight a source with line numbers, you call the <code class="highlighted php">enable_line_numbers<span class="br0">(</span><span class="br0">)</span></code> method:</p> 944 945 <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> 946 Where <code class="highlighted php"><span class="re0">$flag</span></code> is one of the following:</p> 947 948 <ul> 949 <li><code>GESHI_NORMAL_LINE_NUMBERS</code> - Use normal line numbering</li> 950 <li><code>GESHI_FANCY_LINE_NUMBERS</code> - Use fancy line numbering</li> 951 <li><code>GESHI_NO_LINE_NUMBERS</code> - Disable line numbers (default)</li> 952 </ul> 953 954 <p>Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers 955 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> 956 957 <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> 958 959 <p>The second parameter is not used in any other mode. Setting it to <code>0</code> is the same as simply using normal line numbers. 960 Setting it to <code>1</code> applies the fancy style to every line number.</p> 961 962 <div class="note"> 963 964 <div class="note-header">Note:</div> 965 966 <p>The values above are CONSTANTS - so don’t put them in strings!</p> 967 968 </div> 969 970 <h4 id="styling-line-numbers">3.2.2 Styling Line Numbers</h4><div class="nav"><a href="#enabling-line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#starting-line-numbers">Next</a></div> 971 972 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.2, line numbers are added by the use of ordered lists. This solves the old issues of line number 973 styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For 974 example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line 975 numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the 976 whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is 977 quite a bit more <abbr title="Hypertext Markup Language">HTML</abbr> involved. So think carefully about these things before you enable line numbers.</p> 978 979 <p>Now, onto how to style line numbers:</p> 980 981 <p>Styles are set for line numbers using the <code class="highlighted php">set_line_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 982 983 <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> 984 985 <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> 986 987 <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> 988 989 <p>The second style will have no effect if you’re not using Fancy Line Numbers mode.</p> 990 991 <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> 992 993 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 994 <span class="xtra li2"><span class="de2">2</span></span>3 995 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></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> 996 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// or, for fancy line numbers</span> 997 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></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> 998 999 <div class="note"> 1000 1001 <div class="note-header">Note:</div> 1002 1003 <p>Due to a bug with Firefox the issue that should have been fixed with 1.0.2 has reappeared in another form as Firefox 1004 includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it’s 1005 used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is 1006 to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more 1007 have a look at the <a href="http://sourceforge.net/tracker/index.php?func=detail&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 1008 or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first!</p> 1009 1010 </div> 1011 1012 <div class="caution"> 1013 1014 <div class="caution-header">Caution:</div> 1015 1016 <p>When you set line number styles, the code will inherit those styles! This is the main issue to come out of the 1.0.2 1017 release. If you want your code to be styled in a predictable manner, you’ll have to call the <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> 1018 method to rectify this problem.</p> 1019 1020 <p>Note also that you cannot apply background colours to line numbers unless you use <code class="highlighted php">set_overall_style<span class="br0">(</span><span class="br0">)</span></code>. 1021 Here’s how you’d style:</p> 1022 1023 <ol> 1024 <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 1025 style/colour, any margins and padding etc. using this method. <strong>In addition:</strong> set the background colour for 1026 all the line numbers using this method.</p></li> 1027 <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, 1028 weight, font, padding etc. of the line numbers using this method.</p></li> 1029 <li><p>Use <code class="highlighted php">set_code_style<span class="br0">(</span><span class="br0">)</span></code> to explicitly override the styles you set for line numbers using 1030 <code class="highlighted php">set_line_style</code>. For example, if you’d set the line numbers to be bold (or even if you’d only set 1031 the fancy line number style to be bold), and you didn’t actually want your code to be bold, you’d make sure 1032 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> 1033 1034 <p>This is the one major change from <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.1 - make sure you become familiar with this, and make sure that you check 1035 any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it.</p></li> 1036 </ol> 1037 1038 </div> 1039 1040 <h4 id="starting-line-numbers">3.2.3 Choosing a Start Number</h4><div class="nav"><a href="#styling-line-numbers">Previous</a> | <a href="#line-numbers">Top</a> | <a href="#using-css-classes">Next</a></div> 1041 1042 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.2, you can now make the line numbers start at any number, rather than just 1. This feature is useful 1043 if you’re highlighting code from a file from around a certain line number in that file, as an additional guide to 1044 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> 1045 1046 <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> 1047 1048 <p><code class="highlighted php"><span class="re0">$number</span></code> must be a positive integer (or zero). If it is not, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> will convert it anyway.</p> 1049 1050 <p>If you have not enabled line numbers, this will have no effect.</p> 1051 1052 <div class="caution"> 1053 1054 <div class="caution-header">Caution:</div> 1055 1056 <p>Although I’d like <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to have XHTML strict compliance, this feature will break compliancy (however transitional 1057 compliancy remains). This is because the only widely supported way to change the start value for line numbers is 1058 by using the <strong>start=”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 1059 doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this).</p> 1060 1061 </div> 1062 1063 <h3 id="using-css-classes">3.3 Using <abbr title="Cascading Style Sheets">CSS</abbr> Classes</h3><div class="nav"><a href="#starting-line-numbers">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#enabling-css-classes">Next</a></div> 1064 1065 <p>Using <abbr title="Cascading Style Sheets">CSS</abbr> to highlight your code instead of in-lining the styles is a definate bonus. Not only is it more compliant 1066 (the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping 1067 90% saving - which makes a *huge* difference to those unlucky of us on modems!</p> 1068 1069 <h4 id="enabling-css-classes">3.3.1 Enabling <abbr title="Cascading Style Sheets">CSS</abbr> Classes</h4><div class="nav"><a href="#using-css-classes">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#setting-css-class-id">Next</a></div> 1070 1071 <p>By default, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> doesn’t use the classes, so it’s easy just to whack out some highlighted code if you need without 1072 worrying about stylesheets. However, if you’re a bit more organised about it, you should use the classes ;). To turn 1073 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> 1074 1075 <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> 1076 1077 <p>If you want to turn classes OFF for some reason later:</p> 1078 1079 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1080 1081 <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 1082 output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will 1083 be very noticeable, and what’s more you can use one stylesheet for several different highlights on the same page. In 1084 fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets 1085 are cached by browsers).</p> 1086 1087 <div class="note"> 1088 1089 <div class="note-header">Note:</div> 1090 1091 <p>There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should 1092 therefore turn <abbr title="Cascading Style Sheets">CSS</abbr> classes ON to avoid those issues. Although latest reworks in 1.0.8 should fix most of those issues.</p> 1093 1094 </div> 1095 1096 <div class="caution"> 1097 1098 <div class="caution-header">Caution:</div> 1099 1100 <p>This should be the very first method you call after creating a new <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object! That way, various other methods 1101 can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the 1102 code, but this may result in unexpected behaviour.</p> 1103 1104 </div> 1105 1106 <h4 id="setting-css-class-id">3.3.2 Setting the <abbr title="Cascading Style Sheets">CSS</abbr> class and ID</h4><div class="nav"><a href="#enabling-css-classes">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#getting-stylesheet">Next</a></div> 1107 1108 <p>You can set an overall <abbr title="Cascading Style Sheets">CSS</abbr> class and id for the code. This is a good feature that allows you to use the same 1109 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> 1110 to accomplish this:</p> 1111 1112 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1113 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></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> 1114 <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> 1115 1116 <p>The default classname is the name of the language being used. This means you can use just the one stylesheet for all 1117 sources that use the same language, and incidentally means that you probably won’t have to call these methods too often.</p> 1118 1119 <p><abbr title="Cascading Style Sheets">CSS</abbr> IDs are supposed to be unique, and you should use them as such. Basically, you can specify an ID for your code 1120 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 1121 wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example).</p> 1122 1123 <div class="note"> 1124 1125 <div class="note-header">Note:</div> 1126 1127 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the class name will always include the language name used for highlighting.</p> 1128 1129 </div> 1130 1131 <h4 id="getting-stylesheet">3.3.3 Getting the stylesheet for your code</h4><div class="nav"><a href="#setting-css-class-id">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#using-an-external-stylesheet">Next</a></div> 1132 1133 <p>The other half of using <abbr title="Cascading Style Sheets">CSS</abbr> classes is getting the stylesheet for use with the classes. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> makes it very easy to 1134 get a stylesheet for your code, with one easy method call:</p> 1135 1136 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1137 <span class="xtra li2"><span class="de2">2</span></span>3 1138 <span class="xtra li2"><span class="de2">4</span></span>5 1139 <span class="xtra li2"><span class="de2">6</span></span>7 1140 <span class="xtra li2"><span class="de2">8</span></span>9 1141 <span class="xtra li2"><span class="de2">10</span></span>11 1142 <span class="xtra li2"><span class="de2">12</span></span>13 1143 <span class="xtra li2"><span class="de2">14</span></span>15 1144 <span class="xtra li2"><span class="de2">16</span></span>17 1145 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1146 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Here we have code that will spit out a header for</span> 1147 <span class="xtra li2"><span class="de2"><span class="co1">// a stylesheet. For example:</span></span></span> 1148 <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> 1149 <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> 1150 <span class="xtra li2"><span class="de2"><span class="co1">// Echo out the stylesheet for this code block</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1151 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// And continue echoing the page</span> 1152 <span class="xtra li2"><span class="de2"> </span></span><span class="kw1">echo</span> <span class="st_h">'--></span> 1153 <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> 1154 1155 <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 1156 is output it in the correct place. As you can also see, you don’t even have to enable class usage to get the 1157 stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later.</p> 1158 1159 <p>By default, <code class="highlighted php">get_stylesheet<span class="br0">(</span><span class="br0">)</span></code> tries to echo the least amount of code possible. Although currently it doesn’t 1160 check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the 1161 present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related 1162 <abbr title="Cascading Style Sheets">CSS</abbr> will not be outputted. This may be a bad thing for you perhaps you’re going to use the stylesheet for many blocks 1163 of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you’re 1164 building an external stylesheet and want all lexics included. So to get around this problem, you do this:</p> 1165 1166 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1167 1168 <p>This turns economy mode off, and all of the stylesheet will be outputted regardless.</p> 1169 1170 <p>Now lets say you have several snippets of code, using the same language. In most of them you don’t mind if they’re 1171 highlighted the same way (in fact, that’s exactly what you want) but in one of them you’d like the source to be 1172 highlighted differently. Here’s how you can do that:</p> 1173 1174 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1175 <span class="xtra li2"><span class="de2">2</span></span>3 1176 <span class="xtra li2"><span class="de2">4</span></span>5 1177 <span class="xtra li2"><span class="de2">6</span></span>7 1178 <span class="xtra li2"><span class="de2">8</span></span>9 1179 <span class="xtra li2"><span class="de2">10</span></span>11 1180 <span class="xtra li2"><span class="de2">12</span></span>13 1181 <span class="xtra li2"><span class="de2">14</span></span>15 1182 <span class="xtra li2"><span class="de2">16</span></span>17 1183 <span class="xtra li2"><span class="de2">18</span></span>19 1184 <span class="xtra li2"><span class="de2">20</span></span>21 1185 <span class="xtra li2"><span class="de2">22</span></span>23 1186 <span class="xtra li2"><span class="de2">24</span></span>25 1187 <span class="xtra li2"><span class="de2">26</span></span>27 1188 <span class="xtra li2"><span class="de2">28</span></span>29 1189 <span class="xtra li2"><span class="de2">30</span></span>31 1190 <span class="xtra li2"><span class="de2">32</span></span>33 1191 <span class="xtra li2"><span class="de2">34</span></span>35 1192 <span class="xtra li2"><span class="de2">36</span></span>37 1193 <span class="xtra li2"><span class="de2">38</span></span>39 1194 <span class="xtra li2"><span class="de2">40</span></span>41 1195 <span class="xtra li2"><span class="de2">42</span></span>43 1196 <span class="xtra li2"><span class="de2">44</span></span>45 1197 <span class="xtra li2"><span class="de2">46</span></span>47 1198 <span class="xtra li2"><span class="de2">48</span></span></pre></td><td class="de1"><pre class="de1"><span class="co1">// assume path is the default "geshi/" relative to the current directory</span> 1199 <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> 1200 <span class="xtra li2"><span class="de2"><span class="re0">$geshi2</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</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> 1201 <span class="xtra li2"><span class="de2"><span class="re0">$geshi3</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</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> 1202 <span class="xtra li2"><span class="de2"><span class="co1">// Turn classes on for all sources</span></span></span><span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">enable_classes</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1203 <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> 1204 <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> 1205 <span class="xtra li2"><span class="de2"><span class="co1">// Make $geshi3 unique</span></span></span><span class="re0">$geshi3</span><span class="sy0">-></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> 1206 <span class="xtra li2"><span class="de2"> </span></span> 1207 <span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span><span class="co1">// Methods are called on $geshi3 to change styles...</span> 1208 <span class="xtra li2"><span class="de2"><span class="co1">//</span></span></span> 1209 <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> 1210 <span class="xtra li2"><span class="de2"> </span></span><span class="st_h"><style type="text/css"></span> 1211 <span class="xtra li2"><span class="de2"><span class="st_h"><!--</span></span></span><span class="st_h">'</span><span class="sy0">;</span> 1212 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Get the nessecary stylesheets</span> 1213 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="re0">$geshi1</span><span class="sy0">-></span><span class="me1">get_stylesheet</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 1214 <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> 1215 <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> 1216 <span class="xtra li2"><span class="de2"><span class="st_h"><body>'</span><span class="sy0">;</span></span></span> 1217 <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> 1218 <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> 1219 <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> 1220 <span class="xtra li2"><span class="de2"><span class="kw1">echo</span> <span class="st_h">'Code snippet 3 (DIFFERENT highlighting):'</span><span class="sy0">;</span></span></span><span class="kw1">echo</span> <span class="re0">$geshi3</span><span class="sy0">-></span><span class="me1">parse_code</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> 1221 <span class="xtra li2"><span class="de2"> </span></span> 1222 <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> 1223 1224 <p>Before version 1.0.2, you needed to set the class of the code you wanted to be unique to the empty string. This 1225 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 1226 on that ID alone.</p> 1227 1228 <h4 id="using-an-external-stylesheet">3.3.4 Using an External Stylesheet</h4><div class="nav"><a href="#getting-stylesheet">Previous</a> | <a href="#using-css-classes">Top</a> | <a href="#changing-styles">Next</a></div> 1229 1230 <p>An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some 1231 drawbacks with this. To use an external stylesheet, it’s up to you to link it in to your document, normally with 1232 the following <abbr title="Hypertext Markup Language">HTML</abbr>:</p> 1233 1234 <table class="html4strict geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">HTML code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1235 <span class="xtra li2"><span class="de2">2</span></span>3 1236 </pre></td><td class="de1"><pre class="de1"><span class="sc2"><<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></span> 1237 <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> 1238 1239 <p>In your external stylesheet you put <abbr title="Cascading Style Sheets">CSS</abbr> declarations for your code. Then just make sure you’re using the correct class (use 1240 <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> 1241 1242 <p>This method is great if you don’t mind the source always being highlighted the same (in particular, if you’re making a 1243 plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and 1244 your bandwidth, and it’s relatively easy to just change the stylesheet should you need to. However, using this will render 1245 the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically 1246 generated. You can still disable highlighting of certain lexics dynamically, however.</p> 1247 1248 <div class="note"> 1249 1250 <div class="note-header">Note:</div> 1251 1252 <p>As of version 1.0.2, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> comes with a <code>contrib/</code> directory, which in it contains a “wizard” script for creating 1253 a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the 1254 basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any 1255 language that uses them (<abbr title="PHP: HTML Preprocessor">PHP</abbr> and <abbr title="Extensible Markup Language">XML</abbr> are two languages that use them), and keyword-link styles. However, this script 1256 should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this 1257 script in version 1.2!</p> 1258 1259 </div> 1260 1261 <h3 id="changing-styles">3.4 Changing Styles</h3><div class="nav"><a href="#using-an-external-stylesheet">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#the-overall-styles">Next</a></div> 1262 1263 <p>One of the more powerful features of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is the ability to change the style of the output dynamically. Why be chained 1264 to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and 1265 can even say whether something is to be highlighted at all.</p> 1266 1267 <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 1268 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> 1269 1270 <h4 id="the-overall-styles">3.4.1 The Overall Styles</h4><div class="nav"><a href="#changing-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#line-number-styles">Next</a></div> 1271 1272 <p>The code outputted by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is either in a <code class="highlighted html4strict"><span class="sc2"><<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 1273 Code Container”), and this can be styled.</p> 1274 1275 <p><code>$geshi->set_overall_style('... styles ...');</code> 1276 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> 1277 1278 <p><code>$geshi->set_overall_style('color: blue;', true);</code> 1279 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> 1280 1281 <div class="note"> 1282 1283 <div class="note-header">Note:</div> 1284 1285 <p>Remember that a <code class="highlighted html4strict"><span class="sc2"><<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> 1286 1287 </div> 1288 1289 <h4 id="line-number-styles">3.4.2 Line Number Styles</h4><div class="nav"><a href="#the-overall-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-keyword-styles">Next</a></div> 1290 1291 <p>You may wish to refer to the section [Styling Line Numbers][1] before reading this section.</p> 1292 1293 <p>As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is 1294 different. In particular, now you cannot set the background style of the fancy line numbers to be different from that 1295 of the normal line numbers.</p> 1296 1297 <p>Line number styles are set by using the method <code class="highlighted php">set_line_style</code>:</p> 1298 1299 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1300 1301 <p><code class="highlighted php"><span class="re0">$style1</span></code> is the style of the line numbers by default, and <code class="highlighted php"><span class="re0">$style2</span></code> is the style of the fancy line numbers.</p> 1302 1303 <div class="caution"> 1304 1305 <div class="caution-header">Caution:</div> 1306 1307 <p>Things have changed since 1.0.1! This note is <strong>very</strong> important - please make sure you check this twice before 1308 complaining about line numbers!</p> 1309 1310 <p>Because of the way that ordered lists are done in <abbr title="Hypertext Markup Language">HTML</abbr>, there really isn’t normally a way to style the actual 1311 <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 1312 the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to 1313 have a pretty background, you <strong>must</strong> use <code class="highlighted php">set_overall_style<span class="br0">(</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> 1314 to style the actual code! This is explained in the section above: <a href="#styling-line-numbers">Styling Line Numbers</a>.</p> 1315 1316 <p>In addition, the styles for fancy line numbers <em>is now the difference between the normal styles and the styles you want 1317 to achieve</em>. For example, in <abbr title="Generic Syntax Highlighter">GeSHi</abbr> prior to 1.0.2 you may have done this to style line numbers:</p> 1318 1319 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1320 1321 <p>Now you instead can do this:</p> 1322 1323 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1324 1325 <p>The <code class="highlighted css"><span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span></code> will automatically carry through to the fancy styles. This is actually a small 1326 saving in code - but the difference may be confusing for anyone using 1.0.1 at first.</p> 1327 1328 </div> 1329 1330 <h4 id="setting-keyword-styles">3.4.3 Setting Keyword Styles</h4><div class="nav"><a href="#line-number-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-comment-styles">Next</a></div> 1331 1332 <p>Perhaps the most regular change you will make will be to the styles of a keyword set. In order to change the styles for 1333 a particular set, you’ll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1 1334 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 1335 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 1336 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 1337 check the language file to see what key you want. Having a familiarity with a language file is definately a plus for 1338 using it.</p> 1339 1340 <p>To change the styles for a keyword set, call the <code class="highlighted php">set_keyword_group_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1341 1342 <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> 1343 1344 <p>Where <code class="highlighted php"><span class="re0">$group</span></code> is the group to change the styles for and <code class="highlighted php"><span class="re0">$styles</span></code> is a string containing the styles 1345 to apply to that group.</p> 1346 1347 <p>By default, the styles you pass overwrite the current styles. Add a boolean <code class="highlighted php"><span class="kw4">true</span></code> after the styles you specify to 1348 combine them with the current styles:</p> 1349 1350 <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> 1351 1352 <h4 id="setting-comment-styles">3.4.4 Setting Comment Styles</h4><div class="nav"><a href="#setting-keyword-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#setting-other-styles">Next</a></div> 1353 1354 <p>To change the styles for a comment group, call the <code class="highlighted php">set_comments_style<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1355 1356 <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> 1357 1358 <p>Where <code class="highlighted php"><span class="re0">$group</span></code> is either a number corresponding to a single-line comment, or the string <code class="highlighted php"><span class="st_h">'MULTI'</span></code> to 1359 specify multiline comments:</p> 1360 1361 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1362 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></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> 1363 <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> 1364 1365 <p>By default, the styles you pass overwrite the current styles. Add a boolean <code class="highlighted php"><span class="kw4">true</span></code> after the styles you specify to 1366 combine them with the current styles:</p> 1367 1368 <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> 1369 1370 <div class="note"> 1371 1372 <div class="note-header">Note:</div> 1373 1374 <p>In 1.0.7.22 a new kind of Comments called “COMMENT_REGEXP” has been added. Those are handled by setting single 1375 line comment styles.</p> 1376 1377 </div> 1378 1379 <h4 id="setting-other-styles">3.4.5 Setting Other Styles</h4><div class="nav"><a href="#setting-comment-styles">Previous</a> | <a href="#changing-styles">Top</a> | <a href="#case-caps">Next</a></div> 1380 1381 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> can highlight many other aspects of your source other than just keywords and comments. Strings, Numbers, Methods 1382 and Brackets among other things can all also be highlighted. Here are the related methods:</p> 1383 1384 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1385 <span class="xtra li2"><span class="de2">2</span></span>3 1386 <span class="xtra li2"><span class="de2">4</span></span>5 1387 <span class="xtra li2"><span class="de2">6</span></span>7 1388 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span><span class="sy0">-></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> 1389 <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> 1390 <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> 1391 <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> 1392 1393 <p><code class="highlighted php"><span class="re0">$styles</span></code> is a string containing valid stylesheet declarations, while <code class="highlighted php"><span class="re0">$preserve_defaults</span></code> should be set 1394 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>, 1395 you should select a group to set the styles of, check the language files for the number used for each “object splitter”.</p> 1396 1397 <p>Like this was possible for <code class="highlighted php">set_method_style</code> a new parameter has been introduced for 1398 <code class="highlighted php">set_symbols_style</code> too which allows you to select the group of symbols for which you’d like to change your 1399 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 1400 given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket 1401 style, i.e. a pass-through call to <code class="highlighted php">set_bracket_style</code> is made.</p> 1402 1403 <div class="note"> 1404 1405 <div class="note-header">Note:</div> 1406 1407 <p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 multiple styles for strings and numbers are supported, though the API doesn’t provide full access yet.</p> 1408 1409 </div> 1410 1411 <h3 id="case-caps">3.5 Case Sensitivity and Auto Casing</h3><div class="nav"><a href="#setting-other-styles">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#auto-caps-nocaps">Next</a></div> 1412 1413 <p>Controlling the case of the outputted source is an easy job with <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. You can control which keywords are converted in 1414 case, and also control whether keywords are checked in a case sensitive manner.</p> 1415 1416 <h4 id="auto-caps-nocaps">3.5.1 Auto-Caps/NoCaps</h4><div class="nav"><a href="#case-caps">Previous</a> | <a href="#case-caps">Top</a> | <a href="#setting-case-sensitivity">Next</a></div> 1417 1418 <p>Auto-Caps/NoCaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are 1419 styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it’s capatalisation, and SQL is another 1420 language well known for using caps for readability.</p> 1421 1422 <p>To change what case lexics are rendered in, you call the <code class="highlighted php">set_case_keywords<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1423 1424 <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> 1425 1426 <p>The valid values to pass to this method are:</p> 1427 1428 <ul> 1429 <li><code>GESHI_CAPS_NO_CHANGE</code> - Don’t change the case of any lexics, leave as they are found</li> 1430 <li><code>GESHI_CAPS_UPPER</code> - Uppercase all lexics found</li> 1431 <li><code>GESHI_CAPS_LOWER</code> - Lowercase all lexics found</li> 1432 </ul> 1433 1434 <div class="caution"> 1435 1436 <div class="caution-header">Caution:</div> 1437 1438 <p>When I say “lexic”, I mean “keywords”. <strong>Any</strong> keyword in <strong>any</strong> keyword array will be modified using this option! 1439 This is one small area of inflexibility I hope to fix in 1.2.X.</p> 1440 1441 </div> 1442 1443 <p>I suspect this will only be used to specify <code>GESHI_CAPS_NO_CHANGE</code> to turn off autocaps for languages like SQL 1444 and BASIC variants, like so:</p> 1445 1446 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1447 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'sql'</span><span class="br0">)</span><span class="sy0">;</span> 1448 <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> 1449 1450 <p>All the same, it can be used for some interesting effects:</p> 1451 1452 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1453 <span class="xtra li2"><span class="de2">2</span></span>3 1454 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'java'</span><span class="br0">)</span><span class="sy0">;</span> 1455 <span class="xtra li2"><span class="de2"><span class="co1">// Anyone who's used java knows how picky it is about CapitalLetters...</span></span></span><span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">set_case_keywords</span><span class="br0">(</span>GESHI_CAPS_LOWER<span class="br0">)</span><span class="sy0">;</span> 1456 <span class="xtra li2"><span class="de2"><span class="co1">// No *way* the source will look right now ;)</span></span></span></pre></td></tr></tbody></table> 1457 1458 <h4 id="setting-case-sensitivity">3.5.2 Setting Case Sensitivity</h4><div class="nav"><a href="#auto-caps-nocaps">Previous</a> | <a href="#case-caps">Top</a> | <a href="#changing-config">Next</a></div> 1459 1460 <p>Some languages, like <abbr title="PHP: HTML Preprocessor">PHP</abbr>, don’t mind what case function names and keywords are in, while others, like Java, depend on 1461 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> 1462 to change the case sensitiveness of a particular keyword group from the default:</p> 1463 1464 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1465 1466 <p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key of the group for which you wish to change case sensitivness for (see the language file 1467 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 1468 <code class="highlighted php"><span class="kw4">false</span></code> if not.</p> 1469 1470 <h3 id="changing-config">3.6 Changing the Source, Language, Config Options</h3><div class="nav"><a href="#setting-case-sensitivity">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#changing-the-source">Next</a></div> 1471 1472 <p>What happens if you want to change the source to be highlighted on the fly, or the language. Or if you want to specify 1473 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> 1474 1475 <h4 id="changing-the-source">3.6.1 Changing the Source Code</h4><div class="nav"><a href="#changing-config">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-language">Next</a></div> 1476 1477 <p>To change the source code, you call the <code class="highlighted php">set_source<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1478 1479 <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> 1480 1481 <p>Example:</p> 1482 1483 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1484 <span class="xtra li2"><span class="de2">2</span></span>3 1485 <span class="xtra li2"><span class="de2">4</span></span>5 1486 <span class="xtra li2"><span class="de2">6</span></span>7 1487 <span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source1</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span> 1488 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Method calls to specify various options...</span> 1489 <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> 1490 <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> 1491 <span class="xtra li2"><span class="de2"><span class="re0">$code2</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></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> 1492 1493 <h4 id="changing-the-language">3.6.2 Changing the Language</h4><div class="nav"><a href="#changing-the-source">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-path">Next</a></div> 1494 1495 <p>What happens if you want to change the language used for highlighting? Just call <code class="highlighted php">set_language<span class="br0">(</span><span class="br0">)</span></code>:</p> 1496 1497 <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> 1498 1499 <p>Example:</p> 1500 1501 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1502 <span class="xtra li2"><span class="de2">2</span></span>3 1503 <span class="xtra li2"><span class="de2">4</span></span>5 1504 <span class="xtra li2"><span class="de2">6</span></span>7 1505 <span class="xtra li2"><span class="de2">8</span></span>9 1506 <span class="xtra li2"><span class="de2">10</span></span></pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</span><span class="re0">$source</span><span class="sy0">,</span> <span class="st_h">'php'</span><span class="br0">)</span><span class="sy0">;</span> 1507 <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> 1508 <span class="xtra li2"><span class="de2"> </span></span><span class="co1">// Highlight GeSHi's output</span> 1509 <span class="xtra li2"><span class="de2"><span class="re0">$geshi</span><span class="sy0">-></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> 1510 <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> 1511 <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> 1512 1513 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.5, you can use the method <code class="highlighted php">load_from_file<span class="br0">(</span><span class="br0">)</span></code> to load the source code and language from a file. 1514 Simply pass this method a file name and it will attempt to load the source and set the language.</p> 1515 1516 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1517 1518 <p><code class="highlighted php"><span class="re0">$file_name</span></code> is the file name to use, and <code class="highlighted php"><span class="re0">$lookup</span></code> is an optional parameter that contains a lookup 1519 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 1520 may not contain the extension of the file you’re after, or perhaps does have your extension but under a different 1521 language. The lookup array is of the form:</p> 1522 1523 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1524 <span class="xtra li2"><span class="de2">2</span></span>3 1525 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 1526 <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> 1527 <span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">;</span></span></span></pre></td></tr></tbody></table> 1528 1529 <p>Also, you can use the method <code class="highlighted php">get_language_name_from_extension<span class="br0">(</span><span class="br0">)</span></code> if you need to convert a file extension 1530 to a valid language name. This method will return the empty string if it could not find a match in the lookup, and 1531 like <code class="highlighted php">load_from_file</code> it accepts an optional second parameter that contains a lookup array.</p> 1532 1533 <div class="note"> 1534 1535 <div class="note-header">Note:</div> 1536 1537 <p>Names are case-insensitive - they will be converted to lower case to match a language file however. So if you’re 1538 making a language file, remember it should have a name in lower case.</p> 1539 1540 </div> 1541 1542 <div class="note"> 1543 1544 <div class="note-header">Note:</div> 1545 1546 <p>What you pass to this method is the name of a language file, minus the .php extension. If you’re writing a plugin 1547 for a particular application, it’s up to you to somehow convert user input into a valid language name.</p> 1548 1549 </div> 1550 1551 <div class="note"> 1552 1553 <div class="note-header">Note:</div> 1554 1555 <p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 this function does not reset language settings for an already loaded language. If you want 1556 to highlight code in the same language with different settings add the optional 1557 <code class="highlighted php"><span class="re0">$force_reset</span> parameter</code>:</p> 1558 1559 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1560 1561 </div> 1562 1563 <div class="caution"> 1564 1565 <div class="caution-header">Caution:</div> 1566 1567 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> <code class="highlighted php"><span class="kw1">include</span><span class="br0">(</span><span class="br0">)</span></code>s the language file, so be careful to make sure that users can’t pass some wierd 1568 language name to include any old script! <abbr title="Generic Syntax Highlighter">GeSHi</abbr> tries to strip non-valid characters out of a language name, but 1569 you should always do this your self anyway. In particular, language files are always lower-case, with either 1570 alphanumeric characters, dashes or underscores in their name.</p> 1571 1572 <p>At the very least, strip “/” characters out of a language name.</p> 1573 1574 </div> 1575 1576 <h4 id="changing-the-path">3.6.3 Changing the Language Path</h4><div class="nav"><a href="#changing-the-language">Previous</a> | <a href="#changing-config">Top</a> | <a href="#changing-the-charset">Next</a></div> 1577 1578 <p>What happens if all of a sudden you want to use language files from a different directory from the current 1579 language file location? You call the <code class="highlighted php">set_language_path<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1580 1581 <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> 1582 1583 <p>It doesn’t matter whether the path has a trailing slash after it or not - only that it points to a valid folder. 1584 If it doesn’t, that’s your tough luck ;)</p> 1585 1586 <h4 id="changing-the-charset">3.6.4 Changing the Character Set</h4><div class="nav"><a href="#changing-the-path">Previous</a> | <a href="#changing-config">Top</a> | <a href="#error-handling">Next</a></div> 1587 1588 <div class="note"> 1589 1590 <div class="note-header">Note:</div> 1591 1592 <p>Although <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself does not require to know the exact charset of your source you 1593 will need to set this option when processing sources where multi-byte characters can occur. 1594 As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18 internally a rewrite of <code class="highlighted php"><span class="kw3">htmlspecialchars</span></code> is used 1595 due to a security flaw in that function that is unpatched in even the most recent PHP4 versions and in PHP5 < 5.2. 1596 Although this does no longer explicitely require the charset it is required again 1597 as of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 to properly handle multi-byte characters (e.g. after an escape char).</p> 1598 1599 </div> 1600 1601 <div class="note"> 1602 1603 <div class="note-header">Note:</div> 1604 1605 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 the default charset has been changed to UTF-8.</p> 1606 1607 </div> 1608 1609 <p>As of version 1.0.3, you can use the method <code class="highlighted php">set_encoding<span class="br0">(</span><span class="br0">)</span></code> to specify the character set that your source 1610 is in. Valid names are those names that are valid for the <abbr title="PHP: HTML Preprocessor">PHP</abbr> mbstring library:</p> 1611 1612 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1613 1614 <p>There is a table of valid strings for <code class="highlighted php"><span class="re0">$encoding</span></code> at the php.net manual linked to above. If you do not 1615 specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.</p> 1616 1617 <h3 id="error-handling">3.7 Error Handling</h3><div class="nav"><a href="#changing-the-charset">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#disabling-lexics">Next</a></div> 1618 1619 <p>What happens if you try to highlight using a language that doesn’t exist? Or if <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can’t read a required file? 1620 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> 1621 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, 1622 you can call the <code class="highlighted php">error<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1623 1624 <p><code class="highlighted php"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</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> 1625 1626 <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> 1627 1628 <p>The error message you will get will look like this:</p> 1629 1630 <blockquote> 1631 <p><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Error: <abbr title="Generic Syntax Highlighter">GeSHi</abbr> could not find the language thisLangIsNotSupported (using path geshi/) (code 2)</p> 1632 </blockquote> 1633 1634 <p>The error outputted will be the last error <abbr title="Generic Syntax Highlighter">GeSHi</abbr> came across, just like how <code class="highlighted php"><span class="kw3">mysql_error</span><span class="br0">(</span><span class="br0">)</span></code> works.</p> 1635 1636 <h3 id="disabling-lexics">3.8 Disabling styling of some Lexics</h3><div class="nav"><a href="#error-handling">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#setting-tab-width">Next</a></div> 1637 1638 <p>One disadvantage of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> is that for large source files using complex languages, it can be quite slow with 1639 every option turned on. Although future releases will concentrate on the speed/resource side of highlighting, 1640 you can gain speed by disabling some of the highlighting options. This is done by using a 1641 series of <code class="highlighted php">set_<span class="sy0">*</span>_highlighting</code> methods:</p> 1642 1643 <dl> 1644 <dt><code class="highlighted php">set_keyword_group_highlighting<span class="br0">(</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> 1645 <dd>Sets whether a particular <code class="highlighted php"><span class="re0">$group</span></code> of keywords is to be highlighted or not. Consult the necessary 1646 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). 1647 <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">false</span></code> if you want to disable highlighting of this group, and <code class="highlighted php"><span class="kw4">true</span></code> if you want 1648 to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a 1649 related URL one will not be generated for that keyword.</dd> 1650 1651 <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> 1652 <dd>Sets whether a particular <code class="highlighted php"><span class="re0">$group</span></code> of comments is to be highlighted or not. Consult the necessary 1653 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 1654 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 1655 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> 1656 1657 <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> 1658 <dd>Sets whether a particular <code class="highlighted php"><span class="re0">$regexp</span></code> is to be highlighted or not. Consult the necessary language file(s) 1659 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> 1660 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, 1661 and <code class="highlighted php"><span class="kw4">true</span></code> if you want to re-enable highlighting of this group.</dd> 1662 </dl> 1663 1664 <p>The following methods:</p> 1665 1666 <ul> 1667 <li><code class="highlighted php">set_escape_characters_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1668 <li><code class="highlighted php">set_symbols_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1669 <li><code class="highlighted php">set_strings_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1670 <li><code class="highlighted php">set_numbers_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1671 <li><code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="re0">$flag</span><span class="br0">)</span></code></li> 1672 </ul> 1673 1674 <p>Work on their respective lexics (e.g. <code class="highlighted php">set_methods_highlighting<span class="br0">(</span><span class="br0">)</span></code> will disable/enable highlighting of methods). 1675 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 1676 means no <abbr title="Hypertext Markup Language">HTML</abbr> will surround the lexic like usual, saving on time and bandwidth.</p> 1677 1678 <p>In case all highlighting should be disabled or reenabled <abbr title="Generic Syntax Highlighter">GeSHi</abbr> provides two methods called <code class="highlighted php">disable_highlighting<span class="br0">(</span><span class="br0">)</span></code> 1679 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 1680 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 1681 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> 1682 1683 <h3 id="setting-tab-width">3.9 Setting the Tab Width</h3><div class="nav"><a href="#disabling-lexics">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#using-strict-mode">Next</a></div> 1684 1685 <p>If you’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 1686 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 1687 width explicitly.</p> 1688 1689 <p>Note that tabs created in this fashion won’t be like normal tabs - there won’t be “tab-stops” as such, instead 1690 tabs will be replaced with the specified number of spaces - just like most editors do.</p> 1691 1692 <p>To change the tab width, you call the <code class="highlighted php">set_tab_width<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1693 1694 <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> 1695 1696 <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> 1697 1698 <h3 id="using-strict-mode">3.10 Using Strict Mode</h3><div class="nav"><a href="#setting-tab-width">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#adding-removing-keywords">Next</a></div> 1699 1700 <p>Some languages like to get tricky, and jump in and out of the file that they’re in. For example, the vast 1701 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 1702 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 1703 following in a php file?</p> 1704 1705 <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> 1706 1707 <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, 1708 especially if you’re being slack about where you’re putting your quotes, you could end up with the rest 1709 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 1710 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> 1711 1712 <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> 1713 1714 <p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is <code class="highlighted php"><span class="kw4">true</span></code> or not specified to enable strict mode, or <code class="highlighted php"><span class="kw4">false</span></code> to disable 1715 strict mode if you’ve already turned it and don’t want it now.</p> 1716 1717 <div class="note"> 1718 1719 <div class="note-header">Note:</div> 1720 1721 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 there is a new way to tell <abbr title="Generic Syntax Highlighter">GeSHi</abbr> when to use Strict Mode 1722 which is somewhat more intelligent than in previous releases. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> now also 1723 allows <code class="highlighted php">GESHI_MAYBE</code>, <code class="highlighted php">GESHI_NEVER</code> and <code class="highlighted php">GESHI_ALWAYS</code> instead of <code class="highlighted php"><span class="kw4">true</span></code> and <code class="highlighted php"><span class="kw4">false</span></code>. 1724 Basically <code class="highlighted php">GESHI_ALWAYS</code> (<code class="highlighted php"><span class="kw4">true</span></code>) always enables strict mode, 1725 whereas <code class="highlighted php">GESHI_NEVER</code> (<code class="highlighted php"><span class="kw4">false</span></code>) completely disables strict mode. The new thing is 1726 <code class="highlighted php">GESHI_MAYBE</code> which enables strict mode if it finds any sequences of code 1727 that look like strict block delimiters.</p> 1728 1729 <p>By the way: That’s why this section had to be changed, as the new documentation 1730 tool we now use, applies this feature and thus auto-detects when strict mode has to be used…</p> 1731 1732 </div> 1733 1734 <h3 id="adding-removing-keywords">3.11 Adding/Removing Keywords</h3><div class="nav"><a href="#using-strict-mode">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#adding-a-keyword">Next</a></div> 1735 1736 <p>Lets say that you’re working on a large project, with many files, many classes and many functions. Perhaps also you 1737 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 1738 to refer to, whatever. Well, why not highlight the names of the functions and classes <em>your</em> project uses, as well 1739 as the standard functions and classes? Or perhaps you’re not interested in highlighting certain functions, and would 1740 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> 1741 can handle all of this!</p> 1742 1743 <h4 id="adding-a-keyword">3.11.1 Adding a Keyword</h4><div class="nav"><a href="#adding-removing-keywords">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#removing-a-keyword">Next</a></div> 1744 1745 <p>If you want to add a keyword to an existing keyword group, you use the <code class="highlighted php">add_keyword</code> method:</p> 1746 1747 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1748 1749 <p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the index of the group of keywords you want to add this keyword to, and <code class="highlighted php"><span class="re0">$word</span></code> is 1750 the word to add.</p> 1751 1752 <p>This implies knowledge of the language file to know the correct index.</p> 1753 1754 <h4 id="removing-a-keyword">3.11.2 Removing a Keyword</h4><div class="nav"><a href="#adding-a-keyword">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#adding-a-keyword-group">Next</a></div> 1755 1756 <p>Perhaps you want to remove a keyword from an existing group. Maybe you don’t use it and want to save yourself some time. Whatever the reason, you can remove it using the <code class="highlighted php">remove_keyword</code> method:</p> 1757 1758 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1759 1760 <p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the index of the group of keywords that you want to remove this keyword from, and 1761 <code class="highlighted php"><span class="re0">$word</span></code> is the word to remove.</p> 1762 1763 <p>This implies knowledge of the language file to know the correct index - most of the time the keywords you’ll 1764 want to remove will be in group 3, but this is not guaranteed and you should check the language file first.</p> 1765 1766 <p>This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;)</p> 1767 1768 <h4 id="adding-a-keyword-group">3.11.3 Adding a Keyword Group</h4><div class="nav"><a href="#removing-a-keyword">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#removing-a-keyword-group">Next</a></div> 1769 1770 <p>Lets say for your big project you have several main functions and classes that you’d like highlighted. Why not 1771 add them as their own group instead of having them highlighted the same way as other keywords? Then you can make 1772 them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore, 1773 you could set the URL for this group to point at the API documentation of your project.</p> 1774 1775 <p>You add a keyword group by using the <code class="highlighted php">add_keyword_group</code> method:</p> 1776 1777 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1778 1779 <p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key that you want to use to refer to this group, <code class="highlighted php"><span class="re0">$styles</span></code> is the styles that 1780 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 1781 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 1782 words to add to this group. For example:</p> 1783 1784 <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> 1785 1786 <p>Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword 1787 can be in any case and which contains the keywords “myfunc_1”, “myfunc_2” and “myfunc_3”.</p> 1788 1789 <p>After creating such a keyword group, you may call other <abbr title="Generic Syntax Highlighter">GeSHi</abbr> methods on it, just as you would for any other keyword group.</p> 1790 1791 <div class="caution"> 1792 1793 <div class="caution-header">Caution:</div> 1794 1795 <p>If you specify a <code class="highlighted php"><span class="re0">$key</span></code> for which there is already a keyword group, the old keyword group will be 1796 overwritten! Most language files don’t use numbers larger than 5, so I recommend you play it safe and use a number 1797 like 10 or 42.</p> 1798 1799 </div> 1800 1801 <h4 id="removing-a-keyword-group">3.11.4 Removing a Keyword Group</h4><div class="nav"><a href="#adding-a-keyword-group">Previous</a> | <a href="#adding-removing-keywords">Top</a> | <a href="#headers-and-footers">Next</a></div> 1802 1803 <p>Perhaps you <em>really</em> need speed? Why not just remove an entire keyword group? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> won’t have to loop through 1804 each keyword checking for its existance, saving much time. You remove a keyword group by using the 1805 <code class="highlighted php">remove_keyword_group</code> method:</p> 1806 1807 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1808 1809 <p>Where <code class="highlighted php"><span class="re0">$key</span></code> is the key of the group you wish to remove. This implies knowleged of the language file.</p> 1810 1811 <h3 id="headers-and-footers">3.12 Headers and Footers for Your Code</h3><div class="nav"><a href="#removing-a-keyword-group">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#keyword-substitution">Next</a></div> 1812 1813 <p>So you want to add some special information to the highlighted source? <abbr title="Generic Syntax Highlighter">GeSHi</abbr> can do that too! You can specify headers 1814 and footers for your code, style them, and insert information from the highlighted source into your header or footer.</p> 1815 1816 <h4 id="keyword-substitution">3.12.1 Keyword Substitution</h4><div class="nav"><a href="#headers-and-footers">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#setting-header-content">Next</a></div> 1817 1818 <p>In your header and footer, you can put special keywords that will be replaced with actual configuration values for 1819 this <abbr title="Generic Syntax Highlighter">GeSHi</abbr> object. The keywords you can use are:</p> 1820 1821 <ul> 1822 <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., 1823 how long it took for your code to be highlighted. The time is returned to three decimal places.</li> 1824 <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 1825 highlight this code.</li> 1826 <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> 1827 <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> 1828 </ul> 1829 1830 <h4 id="setting-header-content">3.12.2 Setting Header Content</h4><div class="nav"><a href="#keyword-substitution">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#setting-footer-content">Next</a></div> 1831 1832 <p>The header for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by 1833 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>. 1834 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 1835 any quotemarks or angle brackets you want displayed. You set the header content using the method 1836 <code class="highlighted php">set_header_content<span class="br0">(</span><span class="br0">)</span></code>:</p> 1837 1838 <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> 1839 1840 <p>Where <code class="highlighted php"><span class="re0">$content</span></code> is the <abbr title="Hypertext Markup Language">HTML</abbr> you want to use for the header.</p> 1841 1842 <h4 id="setting-footer-content">3.12.3 Setting Footer Content</h4><div class="nav"><a href="#setting-header-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#styling-header-content">Next</a></div> 1843 1844 <p>The footer for your code is a <code class="highlighted html4strict"><span class="sc2"><<span class="kw2">div</span>></span></code>, which is inside the containing block. Therefore, it is affected by 1845 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>. 1846 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 1847 any quotemarks or angle brackets you want displayed. You set the footer content using the method 1848 <code class="highlighted php">set_footer_content<span class="br0">(</span><span class="br0">)</span></code>:</p> 1849 1850 <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> 1851 1852 <p>Where <code class="highlighted php"><span class="re0">$content</span></code> is the <abbr title="Hypertext Markup Language">HTML</abbr> you want to use for the footer.</p> 1853 1854 <h4 id="styling-header-content">3.12.4 Styling Header Content</h4><div class="nav"><a href="#setting-footer-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#styling-footer-content">Next</a></div> 1855 1856 <p>You can apply styles to the header content you have set with the <code class="highlighted php">set_header_content_style</code>:</p> 1857 1858 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1859 1860 <p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations you want to use to style the header content.</p> 1861 1862 <h4 id="styling-footer-content">3.12.5 Styling Footer Content</h4><div class="nav"><a href="#styling-header-content">Previous</a> | <a href="#headers-and-footers">Top</a> | <a href="#keyword-urls">Next</a></div> 1863 1864 <p>You can apply styles to the footer content you have set with the <code class="highlighted php">set_footer_content_style</code>:</p> 1865 1866 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1867 1868 <p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations you want to use to style the footer content.</p> 1869 1870 <h3 id="keyword-urls">3.13 Keyword URLs</h3><div class="nav"><a href="#styling-footer-content">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#setting-a-url">Next</a></div> 1871 1872 <p>As of version 1.0.2, <abbr title="Generic Syntax Highlighter">GeSHi</abbr> allows you to specify a URL for keyword groups. This URL is used by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to convert 1873 the keywords in that group into URLs to appropriate documentation. And using <code class="highlighted php">add_keyword_group</code> you 1874 can add functions and classes from your own projects and use the URL functionality to provide a link to your 1875 own API documentation.</p> 1876 1877 <h4 id="setting-a-url">3.13.1 Setting a URL for a Keyword Group</h4><div class="nav"><a href="#keyword-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#disabling-urls">Next</a></div> 1878 1879 <p>To set the URL to be used for a keyword group, you use the <code class="highlighted php">set_url_for_keyword_group<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1880 1881 <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> 1882 1883 <p>Where <code class="highlighted php"><span class="re0">$group</span></code> is the keyword group you want to assign the URL for, and <code class="highlighted php"><span class="re0">$url</span></code> is the URL for 1884 this group of keywords.</p> 1885 1886 <p>You may be wondering how to make each keyword in the group point to the correct URL. You do this by putting 1887 <code>{FNAME}</code> in the URL at the correct place. For example, <abbr title="PHP: HTML Preprocessor">PHP</abbr> makes it easy by linking <code>www.php.net/function-name</code> 1888 to the documentation for that function, so the URL used is <code>http://www.php.net/{FNAME}</code>.</p> 1889 1890 <p>Of course, when you get to a language like Java, that puts its class documentation in related folders, it gets a 1891 little trickier to work out an appropriate URL (see the Java language file!). I hope to provide some kind of 1892 redirection service at the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> website in the future.</p> 1893 1894 <div class="note"> 1895 1896 <div class="note-header">Note:</div> 1897 1898 <p>As of Version 1.0.7.21 there have been added two more symbols you can use to link to functions. <code>{FNAMEL}</code> 1899 will generate the lowercase version of the keyword, <code>{FNAMEU}</code> will generate the uppercase version. <code>{FNAME}</code> 1900 will provide the keyword as specified in the language file. <strong>Use one of these more specific placeholders 1901 if possible</strong>, as they result in less overhead while linking for case insensitive languages.</p> 1902 1903 </div> 1904 1905 <h4 id="disabling-urls">3.13.2 Disabling a URL for a Keyword Group</h4><div class="nav"><a href="#setting-a-url">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#disabling-all-urls">Next</a></div> 1906 1907 <p>It’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 1908 an empty string as the URL:</p> 1909 1910 <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> 1911 1912 <h4 id="disabling-all-urls">3.13.3 Disabling all URLs for Keywords</h4><div class="nav"><a href="#disabling-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#styling-links">Next</a></div> 1913 1914 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.18, you can disable all URL linking for keywords:</p> 1915 1916 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 1917 1918 <h4 id="styling-links">3.13.4 Styling Links</h4><div class="nav"><a href="#disabling-all-urls">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#using-targets">Next</a></div> 1919 1920 <p>You can also style the function links. You can style their default status, hovered, active and visited status. 1921 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> 1922 1923 <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> 1924 1925 <p>Where <code class="highlighted php"><span class="re0">$mode</span></code> is one of four values:</p> 1926 1927 <ul> 1928 <li><strong><code class="highlighted php">GESHI_LINK</code>:</strong> The default style of the links.</li> 1929 <li><strong><code class="highlighted php">GESHI_HOVER</code>:</strong> The style of the links when they have focus (the mouse is hovering over them).</li> 1930 <li><strong><code class="highlighted php">GESHI_ACTIVE</code>:</strong> The style of the links when they are being clicked.</li> 1931 <li><strong><code class="highlighted php">GESHI_VISITED</code>:</strong> The style of links that the user has already visited.</li> 1932 </ul> 1933 1934 <p>And <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations to apply to the links.</p> 1935 1936 <div class="note"> 1937 1938 <div class="note-header">Note:</div> 1939 1940 <p>The names <code class="highlighted php">GESHI_LINK</code>, <code class="highlighted php">GESHI_HOVER</code> … are constants. Don’t put them in quotes!</p> 1941 1942 </div> 1943 1944 <h4 id="using-targets">3.13.5 Setting the Link Target</h4><div class="nav"><a href="#styling-links">Previous</a> | <a href="#keyword-urls">Top</a> | <a href="#using-contextual-importance">Next</a></div> 1945 1946 <p>Perhaps you want to set the target of link attributes, so the manual pages open in a new window? Use the 1947 <code class="highlighted php">set_link_target<span class="br0">(</span><span class="br0">)</span></code> method:</p> 1948 1949 <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> 1950 1951 <p>Where <code class="highlighted php"><span class="re0">$target</span></code> is any valid (X)<abbr title="Hypertext Markup Language">HTML</abbr> target value - <code>_blank</code> or <code>_top</code> for example.</p> 1952 1953 <h3 id="using-contextual-importance">3.14 Using Contextual Importance</h3><div class="nav"><a href="#using-targets">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#highlighting-special-lines-extra">Next</a></div> 1954 1955 <div class="caution"> 1956 1957 <div class="caution-header">Caution:</div> 1958 1959 <p>This functionality is not only buggy, but is proving very hard to implement in 1.1.X. Therefore, this 1960 functionality may well be <strong>removed</strong> in 1.2.0. You are hereby warned!</p> 1961 1962 </div> 1963 1964 <p>This feature allows you to mark a part of your source as important. But as the 1965 implementation its use is deprecated and you should consider using 1966 the “Highlight Lines Extra” feature described below.</p> 1967 1968 <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> 1969 1970 <p>An alternative (and more stable) method of highlighting code that is important 1971 is to use extra highlighting by line. Although you may not know what line numbers 1972 contain the important lines, if you do this method is a much more flexible way of 1973 making important lines stand out.</p> 1974 1975 <h4 id="specifying-lines-to-highlight-extra">3.15.1 Specifying the Lines to Highlight Extra</h4><div class="nav"><a href="#highlighting-special-lines-extra">Previous</a> | <a href="#highlighting-special-lines-extra">Top</a> | <a href="#styles-for-highlighted-lines">Next</a></div> 1976 1977 <p>To specify which lines to highlight extra, you pass an array containing the line numbers to <code class="highlighted php">highlight_lines_extra<span class="br0">(</span><span class="br0">)</span></code>:</p> 1978 1979 <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> 1980 1981 <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 1982 from looking through the source for certain important things and working out what line those things are… 1983 However you get the line numbers, the array should simply be an array of integers.</p> 1984 1985 <p>Here’s an example, using the same source as before:</p> 1986 1987 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 1988 <span class="xtra li2"><span class="de2">2</span></span>3 1989 <span class="xtra li2"><span class="de2">4</span></span>5 1990 <span class="xtra li2"><span class="de2">6</span></span>7 1991 <span class="xtra li2"><span class="de2">8</span></span>9 1992 <span class="xtra li2"><span class="de2">10</span></span>11 1993 <span class="xtra li2"><span class="de2">12</span></span>13 1994 <span class="xtra li2"><span class="de2">14</span></span>15 1995 <span class="xtra li2"><span class="de2">16</span></span>17 1996 <span class="xtra li2"><span class="de2">18</span></span>19 1997 <span class="xtra li2"><span class="de2">20</span></span>21 1998 </pre></td><td class="de1"><pre class="de1"><span class="co1">//</span> 1999 <span class="xtra li2"><span class="de2"><span class="co1">// Here we go again! This time we'll simply highlight the 8th line</span></span></span><span class="co1">//</span> 2000 <span class="xtra li2"><span class="de2"><span class="re0">$source</span> <span class="sy0">=</span> <span class="st_h">'public int[][] product ( n, m )</span></span></span><span class="st_h">{</span> 2001 <span class="xtra li2"><span class="de2"><span class="st_h"> int [][] ans = new int[n][m];</span></span></span><span class="st_h"> for ( int i = 0; i < n; i++ )</span> 2002 <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> 2003 <span class="xtra li2"><span class="de2"><span class="st_h"> {</span></span></span><span class="st_h"> ans[i][j] = i * j;</span> 2004 <span class="xtra li2"><span class="de2"><span class="st_h"> }</span></span></span><span class="st_h"> }</span> 2005 <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> 2006 <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> 2007 <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> 2008 <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> 2009 2010 <p>Which produces:</p> 2011 2012 <table class="java geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">Java code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2013 <span class="xtra li2"><span class="de2">2</span></span>3 2014 <span class="xtra li2"><span class="de2">4</span></span>5 2015 <span class="xtra li2"><span class="de2">6</span></span>7 2016 <span class="xtra li2"><span class="de2"><span class="xtra ln-xtra">8</span></span></span>9 2017 <span class="xtra li2"><span class="de2">10</span></span>11 2018 <span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">int</span><span class="br0">[</span><span class="br0">]</span><span class="br0">[</span><span class="br0">]</span> product <span class="br0">(</span> n, m <span class="br0">)</span> 2019 <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> 2020 <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> 2021 <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> 2022 <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> 2023 <span class="xtra li2"><span class="de2"> <span class="br0">}</span></span></span> <span class="kw1">return</span> ans<span class="sy0">;</span> 2024 <span class="xtra li2"><span class="de2"><span class="br0">}</span></span></span></pre></td></tr></tbody></table> 2025 2026 <p>What’s more, as you can see the code on a highlighted line is still actually highlighted itself.</p> 2027 2028 <h4 id="styles-for-highlighted-lines">3.15.2 Styles for the Highlighted Lines</h4><div class="nav"><a href="#specifying-lines-to-highlight-extra">Previous</a> | <a href="#highlighting-special-lines-extra">Top</a> | <a href="#adding-ids-to-each-line">Next</a></div> 2029 2030 <p>Again as with contextual importance, you’re not chained to the yellow theme that is the default. You can 2031 use the <code class="highlighted php">set_highlight_lines_extra_style</code> method:</p> 2032 2033 <p><code class="highlighted php"><span class="re0">$geshi</span><span class="sy0">-></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> 2034 2035 <p>Where <code class="highlighted php"><span class="re0">$styles</span></code> is the stylesheet declarations that you want to apply to highlighted lines.</p> 2036 2037 <h3 id="adding-ids-to-each-line">3.16 Adding IDs to Each Line</h3><div class="nav"><a href="#styles-for-highlighted-lines">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#getting-the-time-of-styling">Next</a></div> 2038 2039 <p>Perhaps you’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 2040 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 2041 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> 2042 2043 <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> 2044 2045 <p>Where <code class="highlighted php"><span class="re0">$flag</span></code> is <code class="highlighted php"><span class="kw4">true</span></code> or not present to enable IDs, and <code class="highlighted php"><span class="kw4">false</span></code> to disable them again if you need.</p> 2046 2047 <p>The ID generated is in the form <code>{overall-css-id}-{line-number}</code>. So for example, if you set the overall <abbr title="Cascading Style Sheets">CSS</abbr> id to 2048 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 2049 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> 2050 2051 <h3 id="getting-the-time-of-styling">3.17 Getting the Time of Styling</h3><div class="nav"><a href="#adding-ids-to-each-line">Previous</a> | <a href="#advanced-features">Top</a> | <a href="#language-files">Next</a></div> 2052 2053 <p>Once you’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 2054 <code class="highlighted php">get_time<span class="br0">(</span><span class="br0">)</span></code> method:</p> 2055 2056 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2057 <span class="xtra li2"><span class="de2">2</span></span>3 2058 <span class="xtra li2"><span class="de2">4</span></span>5 2059 <span class="xtra li2"><span class="de2">6</span></span>7 2060 </pre></td><td class="de1"><pre class="de1"><span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">(</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> 2061 <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> 2062 <span class="xtra li2"><span class="de2"><span class="re0">$time</span> <span class="sy0">=</span> <span class="re0">$geshi</span><span class="sy0">-></span><span class="me1">get_time</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span></span></span> 2063 <span class="xtra li2"><span class="de2"><span class="co1">// do something with it</span></span></span><a href="http://www.php.net/mysql_query"><span class="kw3">mysql_query</span></a><span class="br0">(</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> 2064 2065 <h2 id="language-files">4 Language Files</h2><div class="nav"><a href="#getting-the-time-of-styling">Previous</a> | <a href="#language-file-example">Next</a></div> 2066 2067 <p>So now you know what features <abbr title="Generic Syntax Highlighter">GeSHi</abbr> offers, and perhaps you’ve even meddled with the source. Or perhaps 2068 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 2069 anything, what do you think I coded this for? ^_^ You’ll just have to learn how to make a language file 2070 yourself. And I promise it’s not too hard - and if you’re here you’re in the right place!</p> 2071 2072 <h3 id="language-file-example">4.1 An Example Language File</h3><div class="nav"><a href="#language-files">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-conventions">Next</a></div> 2073 2074 <p>Let’s begin by looking at an example language file - the language file for the first language ever supported, 2075 <abbr title="PHP: HTML Preprocessor">PHP</abbr>:</p> 2076 2077 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 2078 <span class="xtra li2"><span class="de2">2</span></span>3 2079 <span class="xtra li2"><span class="de2">4</span></span>5 2080 <span class="xtra li2"><span class="de2">6</span></span>7 2081 <span class="xtra li2"><span class="de2">8</span></span>9 2082 <span class="xtra li2"><span class="de2">10</span></span>11 2083 <span class="xtra li2"><span class="de2">12</span></span>13 2084 <span class="xtra li2"><span class="de2">14</span></span>15 2085 <span class="xtra li2"><span class="de2">16</span></span>17 2086 <span class="xtra li2"><span class="de2">18</span></span>19 2087 <span class="xtra li2"><span class="de2">20</span></span>21 2088 <span class="xtra li2"><span class="de2">22</span></span>23 2089 <span class="xtra li2"><span class="de2">24</span></span>25 2090 <span class="xtra li2"><span class="de2">26</span></span>27 2091 <span class="xtra li2"><span class="de2">28</span></span>29 2092 <span class="xtra li2"><span class="de2">30</span></span>31 2093 <span class="xtra li2"><span class="de2">32</span></span>33 2094 <span class="xtra li2"><span class="de2">34</span></span>35 2095 <span class="xtra li2"><span class="de2">36</span></span>37 2096 <span class="xtra li2"><span class="de2">38</span></span>39 2097 <span class="xtra li2"><span class="de2">40</span></span>41 2098 <span class="xtra li2"><span class="de2">42</span></span>43 2099 <span class="xtra li2"><span class="de2">44</span></span>45 2100 <span class="xtra li2"><span class="de2">46</span></span>47 2101 <span class="xtra li2"><span class="de2">48</span></span>49 2102 <span class="xtra li2"><span class="de2">50</span></span>51 2103 <span class="xtra li2"><span class="de2">52</span></span>53 2104 <span class="xtra li2"><span class="de2">54</span></span>55 2105 <span class="xtra li2"><span class="de2">56</span></span>57 2106 <span class="xtra li2"><span class="de2">58</span></span>59 2107 <span class="xtra li2"><span class="de2">60</span></span>61 2108 <span class="xtra li2"><span class="de2">62</span></span>63 2109 <span class="xtra li2"><span class="de2">64</span></span>65 2110 <span class="xtra li2"><span class="de2">66</span></span>67 2111 <span class="xtra li2"><span class="de2">68</span></span>69 2112 <span class="xtra li2"><span class="de2">70</span></span>71 2113 <span class="xtra li2"><span class="de2">72</span></span>73 2114 <span class="xtra li2"><span class="de2">74</span></span>75 2115 <span class="xtra li2"><span class="de2">76</span></span>77 2116 <span class="xtra li2"><span class="de2">78</span></span>79 2117 <span class="xtra li2"><span class="de2">80</span></span>81 2118 <span class="xtra li2"><span class="de2">82</span></span>83 2119 <span class="xtra li2"><span class="de2">84</span></span>85 2120 <span class="xtra li2"><span class="de2">86</span></span>87 2121 <span class="xtra li2"><span class="de2">88</span></span>89 2122 <span class="xtra li2"><span class="de2">90</span></span>91 2123 <span class="xtra li2"><span class="de2">92</span></span>93 2124 <span class="xtra li2"><span class="de2">94</span></span>95 2125 <span class="xtra li2"><span class="de2">96</span></span>97 2126 <span class="xtra li2"><span class="de2">98</span></span>99 2127 <span class="xtra li2"><span class="de2">100</span></span>101 2128 <span class="xtra li2"><span class="de2">102</span></span>103 2129 <span class="xtra li2"><span class="de2">104</span></span>105 2130 <span class="xtra li2"><span class="de2">106</span></span>107 2131 <span class="xtra li2"><span class="de2">108</span></span>109 2132 <span class="xtra li2"><span class="de2">110</span></span>111 2133 <span class="xtra li2"><span class="de2">112</span></span>113 2134 <span class="xtra li2"><span class="de2">114</span></span>115 2135 <span class="xtra li2"><span class="de2">116</span></span>117 2136 <span class="xtra li2"><span class="de2">118</span></span>119 2137 <span class="xtra li2"><span class="de2">120</span></span>121 2138 <span class="xtra li2"><span class="de2">122</span></span>123 2139 <span class="xtra li2"><span class="de2">124</span></span>125 2140 <span class="xtra li2"><span class="de2">126</span></span>127 2141 <span class="xtra li2"><span class="de2">128</span></span>129 2142 <span class="xtra li2"><span class="de2">130</span></span>131 2143 <span class="xtra li2"><span class="de2">132</span></span>133 2144 <span class="xtra li2"><span class="de2">134</span></span>135 2145 <span class="xtra li2"><span class="de2">136</span></span>137 2146 <span class="xtra li2"><span class="de2">138</span></span>139 2147 <span class="xtra li2"><span class="de2">140</span></span>141 2148 <span class="xtra li2"><span class="de2">142</span></span>143 2149 <span class="xtra li2"><span class="de2">144</span></span>145 2150 <span class="xtra li2"><span class="de2">146</span></span>147 2151 <span class="xtra li2"><span class="de2">148</span></span>149 2152 <span class="xtra li2"><span class="de2">150</span></span>151 2153 <span class="xtra li2"><span class="de2">152</span></span>153 2154 <span class="xtra li2"><span class="de2">154</span></span>155 2155 <span class="xtra li2"><span class="de2">156</span></span>157 2156 <span class="xtra li2"><span class="de2">158</span></span>159 2157 <span class="xtra li2"><span class="de2">160</span></span>161 2158 <span class="xtra li2"><span class="de2">162</span></span>163 2159 <span class="xtra li2"><span class="de2">164</span></span>165 2160 <span class="xtra li2"><span class="de2">166</span></span>167 2161 <span class="xtra li2"><span class="de2">168</span></span>169 2162 <span class="xtra li2"><span class="de2">170</span></span>171 2163 <span class="xtra li2"><span class="de2">172</span></span>173 2164 <span class="xtra li2"><span class="de2">174</span></span>175 2165 <span class="xtra li2"><span class="de2">176</span></span>177 2166 <span class="xtra li2"><span class="de2">178</span></span>179 2167 <span class="xtra li2"><span class="de2">180</span></span>181 2168 <span class="xtra li2"><span class="de2">182</span></span>183 2169 <span class="xtra li2"><span class="de2">184</span></span>185 2170 <span class="xtra li2"><span class="de2">186</span></span>187 2171 <span class="xtra li2"><span class="de2">188</span></span>189 2172 <span class="xtra li2"><span class="de2">190</span></span>191 2173 <span class="xtra li2"><span class="de2">192</span></span>193 2174 <span class="xtra li2"><span class="de2">194</span></span>195 2175 <span class="xtra li2"><span class="de2">196</span></span>197 2176 <span class="xtra li2"><span class="de2">198</span></span>199 2177 <span class="xtra li2"><span class="de2">200</span></span>201 2178 <span class="xtra li2"><span class="de2">202</span></span>203 2179 <span class="xtra li2"><span class="de2">204</span></span>205 2180 <span class="xtra li2"><span class="de2">206</span></span>207 2181 <span class="xtra li2"><span class="de2">208</span></span>209 2182 <span class="xtra li2"><span class="de2">210</span></span>211 2183 <span class="xtra li2"><span class="de2">212</span></span>213 2184 <span class="xtra li2"><span class="de2">214</span></span>215 2185 <span class="xtra li2"><span class="de2">216</span></span>217 2186 <span class="xtra li2"><span class="de2">218</span></span>219 2187 <span class="xtra li2"><span class="de2">220</span></span>221 2188 <span class="xtra li2"><span class="de2">222</span></span>223 2189 <span class="xtra li2"><span class="de2">224</span></span>225 2190 <span class="xtra li2"><span class="de2">226</span></span>227 2191 <span class="xtra li2"><span class="de2">228</span></span>229 2192 <span class="xtra li2"><span class="de2">230</span></span>231 2193 <span class="xtra li2"><span class="de2">232</span></span>233 2194 <span class="xtra li2"><span class="de2">234</span></span>235 2195 <span class="xtra li2"><span class="de2">236</span></span>237 2196 <span class="xtra li2"><span class="de2">238</span></span>239 2197 <span class="xtra li2"><span class="de2">240</span></span>241 2198 <span class="xtra li2"><span class="de2">242</span></span>243 2199 <span class="xtra li2"><span class="de2">244</span></span>245 2200 <span class="xtra li2"><span class="de2">246</span></span>247 2201 <span class="xtra li2"><span class="de2">248</span></span>249 2202 <span class="xtra li2"><span class="de2">250</span></span>251 2203 <span class="xtra li2"><span class="de2">252</span></span>253 2204 <span class="xtra li2"><span class="de2">254</span></span>255 2205 <span class="xtra li2"><span class="de2">256</span></span>257 2206 <span class="xtra li2"><span class="de2">258</span></span>259 2207 <span class="xtra li2"><span class="de2">260</span></span>261 2208 <span class="xtra li2"><span class="de2">262</span></span>263 2209 <span class="xtra li2"><span class="de2">264</span></span>265 2210 <span class="xtra li2"><span class="de2">266</span></span>267 2211 <span class="xtra li2"><span class="de2">268</span></span>269 2212 <span class="xtra li2"><span class="de2">270</span></span>271 2213 <span class="xtra li2"><span class="de2">272</span></span>273 2214 <span class="xtra li2"><span class="de2">274</span></span>275 2215 <span class="xtra li2"><span class="de2">276</span></span>277 2216 <span class="xtra li2"><span class="de2">278</span></span>279 2217 <span class="xtra li2"><span class="de2">280</span></span>281 2218 <span class="xtra li2"><span class="de2">282</span></span>283 2219 <span class="xtra li2"><span class="de2">284</span></span>285 2220 <span class="xtra li2"><span class="de2">286</span></span>287 2221 <span class="xtra li2"><span class="de2">288</span></span>289 2222 <span class="xtra li2"><span class="de2">290</span></span>291 2223 <span class="xtra li2"><span class="de2">292</span></span>293 2224 <span class="xtra li2"><span class="de2">294</span></span>295 2225 <span class="xtra li2"><span class="de2">296</span></span>297 2226 <span class="xtra li2"><span class="de2">298</span></span>299 2227 <span class="xtra li2"><span class="de2">300</span></span>301 2228 <span class="xtra li2"><span class="de2">302</span></span>303 2229 <span class="xtra li2"><span class="de2">304</span></span>305 2230 <span class="xtra li2"><span class="de2">306</span></span>307 2231 <span class="xtra li2"><span class="de2">308</span></span>309 2232 <span class="xtra li2"><span class="de2">310</span></span>311 2233 <span class="xtra li2"><span class="de2">312</span></span>313 2234 <span class="xtra li2"><span class="de2">314</span></span>315 2235 <span class="xtra li2"><span class="de2">316</span></span>317 2236 <span class="xtra li2"><span class="de2">318</span></span>319 2237 <span class="xtra li2"><span class="de2">320</span></span>321 2238 <span class="xtra li2"><span class="de2">322</span></span>323 2239 <span class="xtra li2"><span class="de2">324</span></span>325 2240 <span class="xtra li2"><span class="de2">326</span></span>327 2241 <span class="xtra li2"><span class="de2">328</span></span>329 2242 <span class="xtra li2"><span class="de2">330</span></span>331 2243 <span class="xtra li2"><span class="de2">332</span></span>333 2244 <span class="xtra li2"><span class="de2">334</span></span>335 2245 <span class="xtra li2"><span class="de2">336</span></span>337 2246 <span class="xtra li2"><span class="de2">338</span></span>339 2247 <span class="xtra li2"><span class="de2">340</span></span>341 2248 <span class="xtra li2"><span class="de2">342</span></span>343 2249 <span class="xtra li2"><span class="de2">344</span></span>345 2250 <span class="xtra li2"><span class="de2">346</span></span>347 2251 <span class="xtra li2"><span class="de2">348</span></span>349 2252 <span class="xtra li2"><span class="de2">350</span></span>351 2253 <span class="xtra li2"><span class="de2">352</span></span>353 2254 <span class="xtra li2"><span class="de2">354</span></span>355 2255 <span class="xtra li2"><span class="de2">356</span></span>357 2256 <span class="xtra li2"><span class="de2">358</span></span>359 2257 <span class="xtra li2"><span class="de2">360</span></span>361 2258 <span class="xtra li2"><span class="de2">362</span></span>363 2259 <span class="xtra li2"><span class="de2">364</span></span>365 2260 <span class="xtra li2"><span class="de2">366</span></span>367 2261 <span class="xtra li2"><span class="de2">368</span></span>369 2262 <span class="xtra li2"><span class="de2">370</span></span>371 2263 <span class="xtra li2"><span class="de2">372</span></span>373 2264 <span class="xtra li2"><span class="de2">374</span></span>375 2265 <span class="xtra li2"><span class="de2">376</span></span>377 2266 <span class="xtra li2"><span class="de2">378</span></span>379 2267 <span class="xtra li2"><span class="de2">380</span></span>381 2268 <span class="xtra li2"><span class="de2">382</span></span>383 2269 <span class="xtra li2"><span class="de2">384</span></span>385 2270 <span class="xtra li2"><span class="de2">386</span></span>387 2271 <span class="xtra li2"><span class="de2">388</span></span>389 2272 <span class="xtra li2"><span class="de2">390</span></span>391 2273 <span class="xtra li2"><span class="de2">392</span></span>393 2274 <span class="xtra li2"><span class="de2">394</span></span>395 2275 <span class="xtra li2"><span class="de2">396</span></span>397 2276 <span class="xtra li2"><span class="de2">398</span></span>399 2277 <span class="xtra li2"><span class="de2">400</span></span>401 2278 <span class="xtra li2"><span class="de2">402</span></span>403 2279 <span class="xtra li2"><span class="de2">404</span></span>405 2280 <span class="xtra li2"><span class="de2">406</span></span>407 2281 <span class="xtra li2"><span class="de2">408</span></span>409 2282 <span class="xtra li2"><span class="de2">410</span></span>411 2283 <span class="xtra li2"><span class="de2">412</span></span>413 2284 <span class="xtra li2"><span class="de2">414</span></span>415 2285 <span class="xtra li2"><span class="de2">416</span></span>417 2286 <span class="xtra li2"><span class="de2">418</span></span>419 2287 <span class="xtra li2"><span class="de2">420</span></span>421 2288 <span class="xtra li2"><span class="de2">422</span></span>423 2289 <span class="xtra li2"><span class="de2">424</span></span>425 2290 <span class="xtra li2"><span class="de2">426</span></span>427 2291 <span class="xtra li2"><span class="de2">428</span></span>429 2292 <span class="xtra li2"><span class="de2">430</span></span>431 2293 <span class="xtra li2"><span class="de2">432</span></span>433 2294 <span class="xtra li2"><span class="de2">434</span></span>435 2295 <span class="xtra li2"><span class="de2">436</span></span>437 2296 <span class="xtra li2"><span class="de2">438</span></span>439 2297 <span class="xtra li2"><span class="de2">440</span></span>441 2298 <span class="xtra li2"><span class="de2">442</span></span>443 2299 <span class="xtra li2"><span class="de2">444</span></span>445 2300 <span class="xtra li2"><span class="de2">446</span></span>447 2301 <span class="xtra li2"><span class="de2">448</span></span>449 2302 <span class="xtra li2"><span class="de2">450</span></span>451 2303 <span class="xtra li2"><span class="de2">452</span></span>453 2304 <span class="xtra li2"><span class="de2">454</span></span>455 2305 <span class="xtra li2"><span class="de2">456</span></span>457 2306 <span class="xtra li2"><span class="de2">458</span></span>459 2307 <span class="xtra li2"><span class="de2">460</span></span>461 2308 <span class="xtra li2"><span class="de2">462</span></span>463 2309 <span class="xtra li2"><span class="de2">464</span></span>465 2310 <span class="xtra li2"><span class="de2">466</span></span>467 2311 <span class="xtra li2"><span class="de2">468</span></span>469 2312 <span class="xtra li2"><span class="de2">470</span></span>471 2313 <span class="xtra li2"><span class="de2">472</span></span>473 2314 <span class="xtra li2"><span class="de2">474</span></span>475 2315 <span class="xtra li2"><span class="de2">476</span></span>477 2316 <span class="xtra li2"><span class="de2">478</span></span>479 2317 <span class="xtra li2"><span class="de2">480</span></span>481 2318 <span class="xtra li2"><span class="de2">482</span></span>483 2319 <span class="xtra li2"><span class="de2">484</span></span>485 2320 <span class="xtra li2"><span class="de2">486</span></span>487 2321 <span class="xtra li2"><span class="de2">488</span></span>489 2322 <span class="xtra li2"><span class="de2">490</span></span>491 2323 <span class="xtra li2"><span class="de2">492</span></span>493 2324 <span class="xtra li2"><span class="de2">494</span></span>495 2325 <span class="xtra li2"><span class="de2">496</span></span>497 2326 <span class="xtra li2"><span class="de2">498</span></span>499 2327 <span class="xtra li2"><span class="de2">500</span></span>501 2328 <span class="xtra li2"><span class="de2">502</span></span>503 2329 <span class="xtra li2"><span class="de2">504</span></span>505 2330 <span class="xtra li2"><span class="de2">506</span></span>507 2331 <span class="xtra li2"><span class="de2">508</span></span>509 2332 <span class="xtra li2"><span class="de2">510</span></span>511 2333 <span class="xtra li2"><span class="de2">512</span></span>513 2334 <span class="xtra li2"><span class="de2">514</span></span>515 2335 <span class="xtra li2"><span class="de2">516</span></span>517 2336 <span class="xtra li2"><span class="de2">518</span></span>519 2337 <span class="xtra li2"><span class="de2">520</span></span>521 2338 <span class="xtra li2"><span class="de2">522</span></span>523 2339 <span class="xtra li2"><span class="de2">524</span></span>525 2340 <span class="xtra li2"><span class="de2">526</span></span>527 2341 <span class="xtra li2"><span class="de2">528</span></span>529 2342 <span class="xtra li2"><span class="de2">530</span></span>531 2343 <span class="xtra li2"><span class="de2">532</span></span>533 2344 <span class="xtra li2"><span class="de2">534</span></span>535 2345 <span class="xtra li2"><span class="de2">536</span></span>537 2346 <span class="xtra li2"><span class="de2">538</span></span>539 2347 <span class="xtra li2"><span class="de2">540</span></span>541 2348 <span class="xtra li2"><span class="de2">542</span></span>543 2349 <span class="xtra li2"><span class="de2">544</span></span>545 2350 <span class="xtra li2"><span class="de2">546</span></span>547 2351 <span class="xtra li2"><span class="de2">548</span></span>549 2352 <span class="xtra li2"><span class="de2">550</span></span>551 2353 <span class="xtra li2"><span class="de2">552</span></span>553 2354 <span class="xtra li2"><span class="de2">554</span></span>555 2355 <span class="xtra li2"><span class="de2">556</span></span>557 2356 <span class="xtra li2"><span class="de2">558</span></span>559 2357 <span class="xtra li2"><span class="de2">560</span></span>561 2358 <span class="xtra li2"><span class="de2">562</span></span>563 2359 <span class="xtra li2"><span class="de2">564</span></span>565 2360 <span class="xtra li2"><span class="de2">566</span></span>567 2361 <span class="xtra li2"><span class="de2">568</span></span>569 2362 <span class="xtra li2"><span class="de2">570</span></span>571 2363 <span class="xtra li2"><span class="de2">572</span></span>573 2364 <span class="xtra li2"><span class="de2">574</span></span>575 2365 <span class="xtra li2"><span class="de2">576</span></span>577 2366 <span class="xtra li2"><span class="de2">578</span></span>579 2367 <span class="xtra li2"><span class="de2">580</span></span>581 2368 <span class="xtra li2"><span class="de2">582</span></span>583 2369 <span class="xtra li2"><span class="de2">584</span></span>585 2370 <span class="xtra li2"><span class="de2">586</span></span>587 2371 <span class="xtra li2"><span class="de2">588</span></span>589 2372 <span class="xtra li2"><span class="de2">590</span></span>591 2373 <span class="xtra li2"><span class="de2">592</span></span>593 2374 <span class="xtra li2"><span class="de2">594</span></span>595 2375 <span class="xtra li2"><span class="de2">596</span></span>597 2376 <span class="xtra li2"><span class="de2">598</span></span>599 2377 <span class="xtra li2"><span class="de2">600</span></span>601 2378 <span class="xtra li2"><span class="de2">602</span></span>603 2379 <span class="xtra li2"><span class="de2">604</span></span>605 2380 <span class="xtra li2"><span class="de2">606</span></span>607 2381 <span class="xtra li2"><span class="de2">608</span></span>609 2382 <span class="xtra li2"><span class="de2">610</span></span>611 2383 <span class="xtra li2"><span class="de2">612</span></span>613 2384 <span class="xtra li2"><span class="de2">614</span></span>615 2385 <span class="xtra li2"><span class="de2">616</span></span>617 2386 <span class="xtra li2"><span class="de2">618</span></span>619 2387 <span class="xtra li2"><span class="de2">620</span></span>621 2388 <span class="xtra li2"><span class="de2">622</span></span>623 2389 <span class="xtra li2"><span class="de2">624</span></span>625 2390 <span class="xtra li2"><span class="de2">626</span></span>627 2391 <span class="xtra li2"><span class="de2">628</span></span>629 2392 <span class="xtra li2"><span class="de2">630</span></span>631 2393 <span class="xtra li2"><span class="de2">632</span></span>633 2394 <span class="xtra li2"><span class="de2">634</span></span>635 2395 <span class="xtra li2"><span class="de2">636</span></span>637 2396 <span class="xtra li2"><span class="de2">638</span></span>639 2397 <span class="xtra li2"><span class="de2">640</span></span>641 2398 <span class="xtra li2"><span class="de2">642</span></span>643 2399 <span class="xtra li2"><span class="de2">644</span></span>645 2400 <span class="xtra li2"><span class="de2">646</span></span>647 2401 <span class="xtra li2"><span class="de2">648</span></span>649 2402 <span class="xtra li2"><span class="de2">650</span></span>651 2403 <span class="xtra li2"><span class="de2">652</span></span>653 2404 <span class="xtra li2"><span class="de2">654</span></span>655 2405 <span class="xtra li2"><span class="de2">656</span></span>657 2406 <span class="xtra li2"><span class="de2">658</span></span>659 2407 <span class="xtra li2"><span class="de2">660</span></span>661 2408 <span class="xtra li2"><span class="de2">662</span></span>663 2409 <span class="xtra li2"><span class="de2">664</span></span>665 2410 <span class="xtra li2"><span class="de2">666</span></span>667 2411 <span class="xtra li2"><span class="de2">668</span></span>669 2412 <span class="xtra li2"><span class="de2">670</span></span>671 2413 <span class="xtra li2"><span class="de2">672</span></span>673 2414 <span class="xtra li2"><span class="de2">674</span></span>675 2415 <span class="xtra li2"><span class="de2">676</span></span>677 2416 <span class="xtra li2"><span class="de2">678</span></span>679 2417 <span class="xtra li2"><span class="de2">680</span></span>681 2418 <span class="xtra li2"><span class="de2">682</span></span>683 2419 <span class="xtra li2"><span class="de2">684</span></span>685 2420 <span class="xtra li2"><span class="de2">686</span></span>687 2421 <span class="xtra li2"><span class="de2">688</span></span>689 2422 <span class="xtra li2"><span class="de2">690</span></span>691 2423 <span class="xtra li2"><span class="de2">692</span></span>693 2424 <span class="xtra li2"><span class="de2">694</span></span>695 2425 <span class="xtra li2"><span class="de2">696</span></span>697 2426 <span class="xtra li2"><span class="de2">698</span></span>699 2427 <span class="xtra li2"><span class="de2">700</span></span>701 2428 <span class="xtra li2"><span class="de2">702</span></span>703 2429 <span class="xtra li2"><span class="de2">704</span></span>705 2430 <span class="xtra li2"><span class="de2">706</span></span>707 2431 <span class="xtra li2"><span class="de2">708</span></span>709 2432 <span class="xtra li2"><span class="de2">710</span></span>711 2433 <span class="xtra li2"><span class="de2">712</span></span>713 2434 <span class="xtra li2"><span class="de2">714</span></span>715 2435 <span class="xtra li2"><span class="de2">716</span></span>717 2436 <span class="xtra li2"><span class="de2">718</span></span>719 2437 <span class="xtra li2"><span class="de2">720</span></span>721 2438 <span class="xtra li2"><span class="de2">722</span></span>723 2439 <span class="xtra li2"><span class="de2">724</span></span>725 2440 <span class="xtra li2"><span class="de2">726</span></span>727 2441 <span class="xtra li2"><span class="de2">728</span></span>729 2442 <span class="xtra li2"><span class="de2">730</span></span>731 2443 <span class="xtra li2"><span class="de2">732</span></span>733 2444 <span class="xtra li2"><span class="de2">734</span></span>735 2445 <span class="xtra li2"><span class="de2">736</span></span>737 2446 <span class="xtra li2"><span class="de2">738</span></span>739 2447 <span class="xtra li2"><span class="de2">740</span></span>741 2448 <span class="xtra li2"><span class="de2">742</span></span>743 2449 <span class="xtra li2"><span class="de2">744</span></span>745 2450 <span class="xtra li2"><span class="de2">746</span></span>747 2451 <span class="xtra li2"><span class="de2">748</span></span>749 2452 <span class="xtra li2"><span class="de2">750</span></span>751 2453 <span class="xtra li2"><span class="de2">752</span></span>753 2454 <span class="xtra li2"><span class="de2">754</span></span>755 2455 <span class="xtra li2"><span class="de2">756</span></span>757 2456 <span class="xtra li2"><span class="de2">758</span></span>759 2457 <span class="xtra li2"><span class="de2">760</span></span>761 2458 <span class="xtra li2"><span class="de2">762</span></span>763 2459 <span class="xtra li2"><span class="de2">764</span></span>765 2460 <span class="xtra li2"><span class="de2">766</span></span>767 2461 <span class="xtra li2"><span class="de2">768</span></span>769 2462 <span class="xtra li2"><span class="de2">770</span></span>771 2463 <span class="xtra li2"><span class="de2">772</span></span>773 2464 <span class="xtra li2"><span class="de2">774</span></span>775 2465 <span class="xtra li2"><span class="de2">776</span></span>777 2466 <span class="xtra li2"><span class="de2">778</span></span>779 2467 <span class="xtra li2"><span class="de2">780</span></span>781 2468 <span class="xtra li2"><span class="de2">782</span></span>783 2469 <span class="xtra li2"><span class="de2">784</span></span>785 2470 <span class="xtra li2"><span class="de2">786</span></span>787 2471 <span class="xtra li2"><span class="de2">788</span></span>789 2472 <span class="xtra li2"><span class="de2">790</span></span>791 2473 <span class="xtra li2"><span class="de2">792</span></span>793 2474 <span class="xtra li2"><span class="de2">794</span></span>795 2475 <span class="xtra li2"><span class="de2">796</span></span>797 2476 <span class="xtra li2"><span class="de2">798</span></span>799 2477 <span class="xtra li2"><span class="de2">800</span></span>801 2478 <span class="xtra li2"><span class="de2">802</span></span>803 2479 <span class="xtra li2"><span class="de2">804</span></span>805 2480 <span class="xtra li2"><span class="de2">806</span></span>807 2481 <span class="xtra li2"><span class="de2">808</span></span>809 2482 <span class="xtra li2"><span class="de2">810</span></span>811 2483 <span class="xtra li2"><span class="de2">812</span></span>813 2484 <span class="xtra li2"><span class="de2">814</span></span>815 2485 <span class="xtra li2"><span class="de2">816</span></span>817 2486 <span class="xtra li2"><span class="de2">818</span></span>819 2487 <span class="xtra li2"><span class="de2">820</span></span>821 2488 <span class="xtra li2"><span class="de2">822</span></span>823 2489 <span class="xtra li2"><span class="de2">824</span></span>825 2490 <span class="xtra li2"><span class="de2">826</span></span>827 2491 <span class="xtra li2"><span class="de2">828</span></span>829 2492 <span class="xtra li2"><span class="de2">830</span></span>831 2493 <span class="xtra li2"><span class="de2">832</span></span>833 2494 <span class="xtra li2"><span class="de2">834</span></span>835 2495 <span class="xtra li2"><span class="de2">836</span></span>837 2496 <span class="xtra li2"><span class="de2">838</span></span>839 2497 <span class="xtra li2"><span class="de2">840</span></span>841 2498 <span class="xtra li2"><span class="de2">842</span></span>843 2499 <span class="xtra li2"><span class="de2">844</span></span>845 2500 <span class="xtra li2"><span class="de2">846</span></span>847 2501 <span class="xtra li2"><span class="de2">848</span></span>849 2502 <span class="xtra li2"><span class="de2">850</span></span>851 2503 <span class="xtra li2"><span class="de2">852</span></span>853 2504 <span class="xtra li2"><span class="de2">854</span></span>855 2505 <span class="xtra li2"><span class="de2">856</span></span>857 2506 <span class="xtra li2"><span class="de2">858</span></span>859 2507 <span class="xtra li2"><span class="de2">860</span></span>861 2508 <span class="xtra li2"><span class="de2">862</span></span>863 2509 <span class="xtra li2"><span class="de2">864</span></span>865 2510 <span class="xtra li2"><span class="de2">866</span></span>867 2511 <span class="xtra li2"><span class="de2">868</span></span>869 2512 <span class="xtra li2"><span class="de2">870</span></span>871 2513 <span class="xtra li2"><span class="de2">872</span></span>873 2514 <span class="xtra li2"><span class="de2">874</span></span>875 2515 <span class="xtra li2"><span class="de2">876</span></span>877 2516 <span class="xtra li2"><span class="de2">878</span></span>879 2517 <span class="xtra li2"><span class="de2">880</span></span>881 2518 <span class="xtra li2"><span class="de2">882</span></span>883 2519 <span class="xtra li2"><span class="de2">884</span></span>885 2520 <span class="xtra li2"><span class="de2">886</span></span>887 2521 <span class="xtra li2"><span class="de2">888</span></span>889 2522 <span class="xtra li2"><span class="de2">890</span></span>891 2523 <span class="xtra li2"><span class="de2">892</span></span>893 2524 <span class="xtra li2"><span class="de2">894</span></span>895 2525 <span class="xtra li2"><span class="de2">896</span></span>897 2526 <span class="xtra li2"><span class="de2">898</span></span>899 2527 <span class="xtra li2"><span class="de2">900</span></span>901 2528 <span class="xtra li2"><span class="de2">902</span></span>903 2529 <span class="xtra li2"><span class="de2">904</span></span>905 2530 <span class="xtra li2"><span class="de2">906</span></span>907 2531 <span class="xtra li2"><span class="de2">908</span></span>909 2532 <span class="xtra li2"><span class="de2">910</span></span>911 2533 <span class="xtra li2"><span class="de2">912</span></span>913 2534 <span class="xtra li2"><span class="de2">914</span></span>915 2535 <span class="xtra li2"><span class="de2">916</span></span>917 2536 <span class="xtra li2"><span class="de2">918</span></span>919 2537 <span class="xtra li2"><span class="de2">920</span></span>921 2538 <span class="xtra li2"><span class="de2">922</span></span>923 2539 <span class="xtra li2"><span class="de2">924</span></span>925 2540 <span class="xtra li2"><span class="de2">926</span></span>927 2541 <span class="xtra li2"><span class="de2">928</span></span>929 2542 <span class="xtra li2"><span class="de2">930</span></span>931 2543 <span class="xtra li2"><span class="de2">932</span></span>933 2544 <span class="xtra li2"><span class="de2">934</span></span>935 2545 <span class="xtra li2"><span class="de2">936</span></span>937 2546 <span class="xtra li2"><span class="de2">938</span></span>939 2547 <span class="xtra li2"><span class="de2">940</span></span>941 2548 <span class="xtra li2"><span class="de2">942</span></span>943 2549 <span class="xtra li2"><span class="de2">944</span></span>945 2550 <span class="xtra li2"><span class="de2">946</span></span>947 2551 <span class="xtra li2"><span class="de2">948</span></span>949 2552 <span class="xtra li2"><span class="de2">950</span></span>951 2553 <span class="xtra li2"><span class="de2">952</span></span>953 2554 <span class="xtra li2"><span class="de2">954</span></span>955 2555 <span class="xtra li2"><span class="de2">956</span></span>957 2556 <span class="xtra li2"><span class="de2">958</span></span>959 2557 <span class="xtra li2"><span class="de2">960</span></span>961 2558 <span class="xtra li2"><span class="de2">962</span></span>963 2559 <span class="xtra li2"><span class="de2">964</span></span>965 2560 <span class="xtra li2"><span class="de2">966</span></span>967 2561 <span class="xtra li2"><span class="de2">968</span></span>969 2562 <span class="xtra li2"><span class="de2">970</span></span>971 2563 <span class="xtra li2"><span class="de2">972</span></span>973 2564 <span class="xtra li2"><span class="de2">974</span></span>975 2565 <span class="xtra li2"><span class="de2">976</span></span>977 2566 <span class="xtra li2"><span class="de2">978</span></span>979 2567 <span class="xtra li2"><span class="de2">980</span></span>981 2568 <span class="xtra li2"><span class="de2">982</span></span>983 2569 <span class="xtra li2"><span class="de2">984</span></span>985 2570 <span class="xtra li2"><span class="de2">986</span></span>987 2571 <span class="xtra li2"><span class="de2">988</span></span>989 2572 <span class="xtra li2"><span class="de2">990</span></span>991 2573 <span class="xtra li2"><span class="de2">992</span></span>993 2574 <span class="xtra li2"><span class="de2">994</span></span>995 2575 <span class="xtra li2"><span class="de2">996</span></span>997 2576 <span class="xtra li2"><span class="de2">998</span></span>999 2577 <span class="xtra li2"><span class="de2">1000</span></span>1001 2578 <span class="xtra li2"><span class="de2">1002</span></span>1003 2579 <span class="xtra li2"><span class="de2">1004</span></span>1005 2580 <span class="xtra li2"><span class="de2">1006</span></span>1007 2581 <span class="xtra li2"><span class="de2">1008</span></span>1009 2582 <span class="xtra li2"><span class="de2">1010</span></span>1011 2583 <span class="xtra li2"><span class="de2">1012</span></span>1013 2584 <span class="xtra li2"><span class="de2">1014</span></span>1015 2585 <span class="xtra li2"><span class="de2">1016</span></span>1017 2586 <span class="xtra li2"><span class="de2">1018</span></span>1019 2587 <span class="xtra li2"><span class="de2">1020</span></span>1021 2588 <span class="xtra li2"><span class="de2">1022</span></span>1023 2589 <span class="xtra li2"><span class="de2">1024</span></span>1025 2590 <span class="xtra li2"><span class="de2">1026</span></span>1027 2591 <span class="xtra li2"><span class="de2">1028</span></span>1029 2592 <span class="xtra li2"><span class="de2">1030</span></span>1031 2593 <span class="xtra li2"><span class="de2">1032</span></span>1033 2594 <span class="xtra li2"><span class="de2">1034</span></span>1035 2595 <span class="xtra li2"><span class="de2">1036</span></span>1037 2596 <span class="xtra li2"><span class="de2">1038</span></span>1039 2597 <span class="xtra li2"><span class="de2">1040</span></span>1041 2598 <span class="xtra li2"><span class="de2">1042</span></span>1043 2599 <span class="xtra li2"><span class="de2">1044</span></span>1045 2600 <span class="xtra li2"><span class="de2">1046</span></span>1047 2601 <span class="xtra li2"><span class="de2">1048</span></span>1049 2602 <span class="xtra li2"><span class="de2">1050</span></span>1051 2603 <span class="xtra li2"><span class="de2">1052</span></span>1053 2604 <span class="xtra li2"><span class="de2">1054</span></span>1055 2605 <span class="xtra li2"><span class="de2">1056</span></span>1057 2606 <span class="xtra li2"><span class="de2">1058</span></span>1059 2607 <span class="xtra li2"><span class="de2">1060</span></span>1061 2608 <span class="xtra li2"><span class="de2">1062</span></span>1063 2609 <span class="xtra li2"><span class="de2">1064</span></span>1065 2610 <span class="xtra li2"><span class="de2">1066</span></span>1067 2611 <span class="xtra li2"><span class="de2">1068</span></span>1069 2612 <span class="xtra li2"><span class="de2">1070</span></span>1071 2613 <span class="xtra li2"><span class="de2">1072</span></span>1073 2614 <span class="xtra li2"><span class="de2">1074</span></span>1075 2615 <span class="xtra li2"><span class="de2">1076</span></span>1077 2616 <span class="xtra li2"><span class="de2">1078</span></span>1079 2617 <span class="xtra li2"><span class="de2">1080</span></span>1081 2618 <span class="xtra li2"><span class="de2">1082</span></span>1083 2619 <span class="xtra li2"><span class="de2">1084</span></span>1085 2620 <span class="xtra li2"><span class="de2">1086</span></span>1087 2621 <span class="xtra li2"><span class="de2">1088</span></span>1089 2622 <span class="xtra li2"><span class="de2">1090</span></span>1091 2623 <span class="xtra li2"><span class="de2">1092</span></span>1093 2624 <span class="xtra li2"><span class="de2">1094</span></span></pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span> 2625 <span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * php.php</span> 2626 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * --------</span></span></span><span class="coMULTI"> * Author: Nigel McNie (nigel (a] geshi.org)</span> 2627 <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.3</span> 2628 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: 2004/06/20</span></span></span><span class="coMULTI"> *</span> 2629 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * PHP language file for GeSHi.</span></span></span><span class="coMULTI"> *</span> 2630 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span> 2631 <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> 2632 <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> 2633 <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> 2634 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * - Added URL support</span></span></span><span class="coMULTI"> * - Added extra constants</span> 2635 <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> 2636 <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> 2637 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated 2004/07/14)</span> 2638 <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> 2639 <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> 2640 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span> 2641 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span> 2642 <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> 2643 <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> 2644 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span> 2645 <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> 2646 <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> 2647 <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> 2648 <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> 2649 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span> 2650 <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> 2651 <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> 2652 <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">'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> 2653 <span class="xtra li2"><span class="de2"> <span class="st_h">'HARDESCAPE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span><span class="st0">"'"</span><span class="sy0">,</span> <span class="st0">"<span class="es1">\\</span>"</span><span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'HARDCHAR'</span> <span class="sy0">=></span> <span class="st0">"<span class="es1">\\</span>"</span><span class="sy0">,</span> 2654 <span class="xtra li2"><span class="de2"> <span class="st_h">'COMMENT_REGEXP'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="co1">//Heredoc and Nowdoc syntax</span> 2655 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'</span><span class="sy0">,</span></span></span> <span class="co1">// phpdoc comments</span> 2656 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'#/\*\*(?![\*\/]).*\*/#sU'</span><span class="sy0">,</span></span></span> <span class="co1">// Advanced # handling</span> 2657 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st0">"/#.*?(?:(?=\?\>)|^)/smi"</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 2658 <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="st_h">'"'</span><span class="br0">)</span><span class="sy0">,</span> 2659 <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> <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> 2660 <span class="xtra li2"><span class="de2"> <span class="co1">//Simple Single Char Escapes</span></span></span> <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> 2661 <span class="xtra li2"><span class="de2"> <span class="co1">//Hexadecimal Char Specs</span></span></span> <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> 2662 <span class="xtra li2"><span class="de2"> <span class="co1">//Octal Char Specs</span></span></span> <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> 2663 <span class="xtra li2"><span class="de2"> <span class="co1">//String Parsing of Variable Names</span></span></span> <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> 2664 <span class="xtra li2"><span class="de2"> <span class="co1">//Experimental extension supporting cascaded {${$var}} syntax</span></span></span> <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> 2665 <span class="xtra li2"><span class="de2"> <span class="co1">//Format String support in ""-Strings</span></span></span> <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> 2666 <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> 2667 <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> 2668 <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> 2669 <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> 2670 <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">'while'</span><span class="sy0">,</span> 2671 <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> 2672 <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> 2673 <span class="xtra li2"><span class="de2"> <span class="st_h">'&amp;new'</span><span class="sy0">,</span><span class="st_h">'&lt;/script&gt;'</span><span class="sy0">,</span><span class="st_h">'&lt;?php'</span><span class="sy0">,</span><span class="st_h">'&lt;script language'</span><span class="sy0">,</span></span></span> <span class="st_h">'class'</span><span class="sy0">,</span><span class="st_h">'const'</span><span class="sy0">,</span><span class="st_h">'declare'</span><span class="sy0">,</span><span class="st_h">'extends'</span><span class="sy0">,</span><span class="st_h">'function'</span><span class="sy0">,</span><span class="st_h">'global'</span><span class="sy0">,</span><span class="st_h">'interface'</span><span class="sy0">,</span> 2674 <span class="xtra li2"><span class="de2"> <span class="st_h">'namespace'</span><span class="sy0">,</span><span class="st_h">'new'</span><span class="sy0">,</span><span class="st_h">'private'</span><span class="sy0">,</span><span class="st_h">'public'</span><span class="sy0">,</span><span class="st_h">'self'</span><span class="sy0">,</span><span class="st_h">'var'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 2675 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'abs'</span><span class="sy0">,</span><span class="st_h">'acos'</span><span class="sy0">,</span><span class="st_h">'acosh'</span><span class="sy0">,</span><span class="st_h">'addcslashes'</span><span class="sy0">,</span><span class="st_h">'addslashes'</span><span class="sy0">,</span><span class="st_h">'aggregate'</span><span class="sy0">,</span> 2676 <span class="xtra li2"><span class="de2"> <span class="st_h">'aggregate_methods'</span><span class="sy0">,</span><span class="st_h">'aggregate_methods_by_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'aggregate_methods_by_regexp'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties'</span><span class="sy0">,</span> 2677 <span class="xtra li2"><span class="de2"> <span class="st_h">'aggregate_properties_by_list'</span><span class="sy0">,</span><span class="st_h">'aggregate_properties_by_regexp'</span><span class="sy0">,</span></span></span> <span class="st_h">'aggregation_info'</span><span class="sy0">,</span><span class="st_h">'apache_child_terminate'</span><span class="sy0">,</span><span class="st_h">'apache_get_modules'</span><span class="sy0">,</span> 2678 <span class="xtra li2"><span class="de2"> <span class="st_h">'apache_get_version'</span><span class="sy0">,</span><span class="st_h">'apache_getenv'</span><span class="sy0">,</span><span class="st_h">'apache_lookup_uri'</span><span class="sy0">,</span></span></span> <span class="st_h">'apache_note'</span><span class="sy0">,</span><span class="st_h">'apache_request_headers'</span><span class="sy0">,</span><span class="st_h">'apache_response_headers'</span><span class="sy0">,</span> 2679 <span class="xtra li2"><span class="de2"> <span class="st_h">'apache_setenv'</span><span class="sy0">,</span><span class="st_h">'array'</span><span class="sy0">,</span><span class="st_h">'array_change_key_case'</span><span class="sy0">,</span><span class="st_h">'array_chunk'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_combine'</span><span class="sy0">,</span><span class="st_h">'array_count_values'</span><span class="sy0">,</span><span class="st_h">'array_diff'</span><span class="sy0">,</span> 2680 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_diff_assoc'</span><span class="sy0">,</span><span class="st_h">'array_diff_key'</span><span class="sy0">,</span><span class="st_h">'array_diff_uassoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_diff_ukey'</span><span class="sy0">,</span><span class="st_h">'array_fill'</span><span class="sy0">,</span><span class="st_h">'array_fill_keys'</span><span class="sy0">,</span><span class="st_h">'array_filter'</span><span class="sy0">,</span> 2681 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_flip'</span><span class="sy0">,</span><span class="st_h">'array_intersect'</span><span class="sy0">,</span><span class="st_h">'array_intersect_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_intersect_key'</span><span class="sy0">,</span><span class="st_h">'array_intersect_uassoc'</span><span class="sy0">,</span> 2682 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_intersect_ukey'</span><span class="sy0">,</span><span class="st_h">'array_key_exists'</span><span class="sy0">,</span><span class="st_h">'array_keys'</span><span class="sy0">,</span><span class="st_h">'array_map'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_merge'</span><span class="sy0">,</span><span class="st_h">'array_merge_recursive'</span><span class="sy0">,</span><span class="st_h">'array_multisort'</span><span class="sy0">,</span><span class="st_h">'array_pad'</span><span class="sy0">,</span> 2683 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_pop'</span><span class="sy0">,</span><span class="st_h">'array_product'</span><span class="sy0">,</span><span class="st_h">'array_push'</span><span class="sy0">,</span><span class="st_h">'array_rand'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_reduce'</span><span class="sy0">,</span><span class="st_h">'array_reverse'</span><span class="sy0">,</span><span class="st_h">'array_search'</span><span class="sy0">,</span><span class="st_h">'array_shift'</span><span class="sy0">,</span> 2684 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_slice'</span><span class="sy0">,</span><span class="st_h">'array_splice'</span><span class="sy0">,</span><span class="st_h">'array_sum'</span><span class="sy0">,</span><span class="st_h">'array_udiff'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_udiff_assoc'</span><span class="sy0">,</span><span class="st_h">'array_udiff_uassoc'</span><span class="sy0">,</span><span class="st_h">'array_uintersect'</span><span class="sy0">,</span> 2685 <span class="xtra li2"><span class="de2"> <span class="st_h">'array_uintersect_assoc'</span><span class="sy0">,</span><span class="st_h">'array_uintersect_uassoc'</span><span class="sy0">,</span><span class="st_h">'array_unique'</span><span class="sy0">,</span></span></span> <span class="st_h">'array_unshift'</span><span class="sy0">,</span><span class="st_h">'array_values'</span><span class="sy0">,</span><span class="st_h">'array_walk'</span><span class="sy0">,</span><span class="st_h">'array_walk_recursive'</span><span class="sy0">,</span> 2686 <span class="xtra li2"><span class="de2"> <span class="st_h">'arsort'</span><span class="sy0">,</span><span class="st_h">'asin'</span><span class="sy0">,</span><span class="st_h">'asinh'</span><span class="sy0">,</span><span class="st_h">'asort'</span><span class="sy0">,</span><span class="st_h">'assert'</span><span class="sy0">,</span><span class="st_h">'assert_options'</span><span class="sy0">,</span><span class="st_h">'atan'</span><span class="sy0">,</span></span></span> <span class="st_h">'atan2'</span><span class="sy0">,</span><span class="st_h">'atanh'</span><span class="sy0">,</span><span class="st_h">'base_convert'</span><span class="sy0">,</span><span class="st_h">'base64_decode'</span><span class="sy0">,</span><span class="st_h">'base64_encode'</span><span class="sy0">,</span> 2687 <span class="xtra li2"><span class="de2"> <span class="st_h">'basename'</span><span class="sy0">,</span><span class="st_h">'bcadd'</span><span class="sy0">,</span><span class="st_h">'bccomp'</span><span class="sy0">,</span><span class="st_h">'bcdiv'</span><span class="sy0">,</span><span class="st_h">'bcmod'</span><span class="sy0">,</span><span class="st_h">'bcmul'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_load'</span><span class="sy0">,</span><span class="st_h">'bcompiler_load_exe'</span><span class="sy0">,</span><span class="st_h">'bcompiler_parse_class'</span><span class="sy0">,</span> 2688 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_read'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_class'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_constant'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_write_exe_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_file'</span><span class="sy0">,</span> 2689 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_footer'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_function'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcompiler_write_functions_from_file'</span><span class="sy0">,</span><span class="st_h">'bcompiler_write_header'</span><span class="sy0">,</span> 2690 <span class="xtra li2"><span class="de2"> <span class="st_h">'bcompiler_write_included_filename'</span><span class="sy0">,</span><span class="st_h">'bcpow'</span><span class="sy0">,</span><span class="st_h">'bcpowmod'</span><span class="sy0">,</span><span class="st_h">'bcscale'</span><span class="sy0">,</span></span></span> <span class="st_h">'bcsqrt'</span><span class="sy0">,</span><span class="st_h">'bcsub'</span><span class="sy0">,</span><span class="st_h">'bin2hex'</span><span class="sy0">,</span><span class="st_h">'bindec'</span><span class="sy0">,</span><span class="st_h">'bindtextdomain'</span><span class="sy0">,</span> 2691 <span class="xtra li2"><span class="de2"> <span class="st_h">'bind_textdomain_codeset'</span><span class="sy0">,</span><span class="st_h">'bitset_empty'</span><span class="sy0">,</span><span class="st_h">'bitset_equal'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_excl'</span><span class="sy0">,</span><span class="st_h">'bitset_fill'</span><span class="sy0">,</span><span class="st_h">'bitset_from_array'</span><span class="sy0">,</span><span class="st_h">'bitset_from_hash'</span><span class="sy0">,</span> 2692 <span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_from_string'</span><span class="sy0">,</span><span class="st_h">'bitset_in'</span><span class="sy0">,</span><span class="st_h">'bitset_incl'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_intersection'</span><span class="sy0">,</span><span class="st_h">'bitset_invert'</span><span class="sy0">,</span><span class="st_h">'bitset_is_empty'</span><span class="sy0">,</span> 2693 <span class="xtra li2"><span class="de2"> <span class="st_h">'bitset_subset'</span><span class="sy0">,</span><span class="st_h">'bitset_to_array'</span><span class="sy0">,</span><span class="st_h">'bitset_to_hash'</span><span class="sy0">,</span></span></span> <span class="st_h">'bitset_to_string'</span><span class="sy0">,</span><span class="st_h">'bitset_union'</span><span class="sy0">,</span><span class="st_h">'blenc_encrypt'</span><span class="sy0">,</span><span class="st_h">'bzclose'</span><span class="sy0">,</span> 2694 <span class="xtra li2"><span class="de2"> <span class="st_h">'bzcompress'</span><span class="sy0">,</span><span class="st_h">'bzdecompress'</span><span class="sy0">,</span><span class="st_h">'bzerrno'</span><span class="sy0">,</span><span class="st_h">'bzerror'</span><span class="sy0">,</span><span class="st_h">'bzerrstr'</span><span class="sy0">,</span></span></span> <span class="st_h">'bzflush'</span><span class="sy0">,</span><span class="st_h">'bzopen'</span><span class="sy0">,</span><span class="st_h">'bzread'</span><span class="sy0">,</span><span class="st_h">'bzwrite'</span><span class="sy0">,</span><span class="st_h">'cal_days_in_month'</span><span class="sy0">,</span> 2695 <span class="xtra li2"><span class="de2"> <span class="st_h">'cal_from_jd'</span><span class="sy0">,</span><span class="st_h">'cal_info'</span><span class="sy0">,</span><span class="st_h">'cal_to_jd'</span><span class="sy0">,</span><span class="st_h">'call_user_func'</span><span class="sy0">,</span></span></span> <span class="st_h">'call_user_func_array'</span><span class="sy0">,</span><span class="st_h">'call_user_method'</span><span class="sy0">,</span><span class="st_h">'call_user_method_array'</span><span class="sy0">,</span> 2696 <span class="xtra li2"><span class="de2"> <span class="st_h">'ceil'</span><span class="sy0">,</span><span class="st_h">'chdir'</span><span class="sy0">,</span><span class="st_h">'checkdate'</span><span class="sy0">,</span><span class="st_h">'checkdnsrr'</span><span class="sy0">,</span><span class="st_h">'chgrp'</span><span class="sy0">,</span><span class="st_h">'chmod'</span><span class="sy0">,</span><span class="st_h">'chop'</span><span class="sy0">,</span></span></span> <span class="st_h">'chown'</span><span class="sy0">,</span><span class="st_h">'chr'</span><span class="sy0">,</span><span class="st_h">'chunk_split'</span><span class="sy0">,</span><span class="st_h">'class_exists'</span><span class="sy0">,</span><span class="st_h">'class_implements'</span><span class="sy0">,</span> 2697 <span class="xtra li2"><span class="de2"> <span class="st_h">'class_parents'</span><span class="sy0">,</span><span class="st_h">'classkit_aggregate_methods'</span><span class="sy0">,</span></span></span> <span class="st_h">'classkit_doc_comments'</span><span class="sy0">,</span><span class="st_h">'classkit_import'</span><span class="sy0">,</span><span class="st_h">'classkit_method_add'</span><span class="sy0">,</span> 2698 <span class="xtra li2"><span class="de2"> <span class="st_h">'classkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'classkit_method_redefine'</span><span class="sy0">,</span></span></span> <span class="st_h">'classkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'classkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'clearstatcache'</span><span class="sy0">,</span> 2699 <span class="xtra li2"><span class="de2"> <span class="st_h">'closedir'</span><span class="sy0">,</span><span class="st_h">'closelog'</span><span class="sy0">,</span><span class="st_h">'com_create_guid'</span><span class="sy0">,</span><span class="st_h">'com_event_sink'</span><span class="sy0">,</span></span></span> <span class="st_h">'com_get_active_object'</span><span class="sy0">,</span><span class="st_h">'com_load_typelib'</span><span class="sy0">,</span><span class="st_h">'com_message_pump'</span><span class="sy0">,</span> 2700 <span class="xtra li2"><span class="de2"> <span class="st_h">'com_print_typeinfo'</span><span class="sy0">,</span><span class="st_h">'compact'</span><span class="sy0">,</span><span class="st_h">'confirm_phpdoc_compiled'</span><span class="sy0">,</span></span></span> <span class="st_h">'connection_aborted'</span><span class="sy0">,</span><span class="st_h">'connection_status'</span><span class="sy0">,</span><span class="st_h">'constant'</span><span class="sy0">,</span> 2701 <span class="xtra li2"><span class="de2"> <span class="st_h">'convert_cyr_string'</span><span class="sy0">,</span><span class="st_h">'convert_uudecode'</span><span class="sy0">,</span><span class="st_h">'convert_uuencode'</span><span class="sy0">,</span><span class="st_h">'copy'</span><span class="sy0">,</span></span></span> <span class="st_h">'cos'</span><span class="sy0">,</span><span class="st_h">'cosh'</span><span class="sy0">,</span><span class="st_h">'count'</span><span class="sy0">,</span><span class="st_h">'count_chars'</span><span class="sy0">,</span><span class="st_h">'cpdf_add_annotation'</span><span class="sy0">,</span> 2702 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_add_outline'</span><span class="sy0">,</span><span class="st_h">'cpdf_arc'</span><span class="sy0">,</span><span class="st_h">'cpdf_begin_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_circle'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_clip'</span><span class="sy0">,</span><span class="st_h">'cpdf_close'</span><span class="sy0">,</span><span class="st_h">'cpdf_closepath'</span><span class="sy0">,</span> 2703 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_closepath_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_closepath_stroke'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_continue_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_curveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_end_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_fill'</span><span class="sy0">,</span> 2704 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_finalize'</span><span class="sy0">,</span><span class="st_h">'cpdf_finalize_page'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_global_set_document_limits'</span><span class="sy0">,</span><span class="st_h">'cpdf_import_jpeg'</span><span class="sy0">,</span><span class="st_h">'cpdf_lineto'</span><span class="sy0">,</span> 2705 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_moveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_newpath'</span><span class="sy0">,</span><span class="st_h">'cpdf_open'</span><span class="sy0">,</span><span class="st_h">'cpdf_output_buffer'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_page_init'</span><span class="sy0">,</span><span class="st_h">'cpdf_rect'</span><span class="sy0">,</span><span class="st_h">'cpdf_restore'</span><span class="sy0">,</span><span class="st_h">'cpdf_rlineto'</span><span class="sy0">,</span> 2706 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_rmoveto'</span><span class="sy0">,</span><span class="st_h">'cpdf_rotate'</span><span class="sy0">,</span><span class="st_h">'cpdf_rotate_text'</span><span class="sy0">,</span><span class="st_h">'cpdf_save'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_save_to_file'</span><span class="sy0">,</span><span class="st_h">'cpdf_scale'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_action_url'</span><span class="sy0">,</span> 2707 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_char_spacing'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_creator'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_current_page'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_font'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_font_directories'</span><span class="sy0">,</span> 2708 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_font_map_file'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_horiz_scaling'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_keywords'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_leading'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_page_animation'</span><span class="sy0">,</span> 2709 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_subject'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_matrix'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_pos'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_set_text_rendering'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_text_rise'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_title'</span><span class="sy0">,</span> 2710 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_set_viewer_preferences'</span><span class="sy0">,</span><span class="st_h">'cpdf_set_word_spacing'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_setdash'</span><span class="sy0">,</span><span class="st_h">'cpdf_setflat'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray'</span><span class="sy0">,</span><span class="st_h">'cpdf_setgray_fill'</span><span class="sy0">,</span> 2711 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setgray_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_setlinecap'</span><span class="sy0">,</span><span class="st_h">'cpdf_setlinejoin'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_setlinewidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_setmiterlimit'</span><span class="sy0">,</span><span class="st_h">'cpdf_setrgbcolor'</span><span class="sy0">,</span> 2712 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_setrgbcolor_fill'</span><span class="sy0">,</span><span class="st_h">'cpdf_setrgbcolor_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_show'</span><span class="sy0">,</span></span></span> <span class="st_h">'cpdf_show_xy'</span><span class="sy0">,</span><span class="st_h">'cpdf_stringwidth'</span><span class="sy0">,</span><span class="st_h">'cpdf_stroke'</span><span class="sy0">,</span><span class="st_h">'cpdf_text'</span><span class="sy0">,</span> 2713 <span class="xtra li2"><span class="de2"> <span class="st_h">'cpdf_translate'</span><span class="sy0">,</span><span class="st_h">'crack_check'</span><span class="sy0">,</span><span class="st_h">'crack_closedict'</span><span class="sy0">,</span></span></span> <span class="st_h">'crack_getlastmessage'</span><span class="sy0">,</span><span class="st_h">'crack_opendict'</span><span class="sy0">,</span><span class="st_h">'crc32'</span><span class="sy0">,</span><span class="st_h">'create_function'</span><span class="sy0">,</span> 2714 <span class="xtra li2"><span class="de2"> <span class="st_h">'crypt'</span><span class="sy0">,</span><span class="st_h">'ctype_alnum'</span><span class="sy0">,</span><span class="st_h">'ctype_alpha'</span><span class="sy0">,</span><span class="st_h">'ctype_cntrl'</span><span class="sy0">,</span><span class="st_h">'ctype_digit'</span><span class="sy0">,</span></span></span> <span class="st_h">'ctype_graph'</span><span class="sy0">,</span><span class="st_h">'ctype_lower'</span><span class="sy0">,</span><span class="st_h">'ctype_print'</span><span class="sy0">,</span><span class="st_h">'ctype_punct'</span><span class="sy0">,</span> 2715 <span class="xtra li2"><span class="de2"> <span class="st_h">'ctype_space'</span><span class="sy0">,</span><span class="st_h">'ctype_upper'</span><span class="sy0">,</span><span class="st_h">'ctype_xdigit'</span><span class="sy0">,</span><span class="st_h">'curl_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_copy_handle'</span><span class="sy0">,</span><span class="st_h">'curl_errno'</span><span class="sy0">,</span><span class="st_h">'curl_error'</span><span class="sy0">,</span><span class="st_h">'curl_exec'</span><span class="sy0">,</span> 2716 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_getinfo'</span><span class="sy0">,</span><span class="st_h">'curl_init'</span><span class="sy0">,</span><span class="st_h">'curl_multi_add_handle'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_multi_close'</span><span class="sy0">,</span><span class="st_h">'curl_multi_exec'</span><span class="sy0">,</span><span class="st_h">'curl_multi_getcontent'</span><span class="sy0">,</span> 2717 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_multi_info_read'</span><span class="sy0">,</span><span class="st_h">'curl_multi_init'</span><span class="sy0">,</span><span class="st_h">'curl_multi_remove_handle'</span><span class="sy0">,</span></span></span> <span class="st_h">'curl_multi_select'</span><span class="sy0">,</span><span class="st_h">'curl_setopt'</span><span class="sy0">,</span><span class="st_h">'curl_setopt_array'</span><span class="sy0">,</span> 2718 <span class="xtra li2"><span class="de2"> <span class="st_h">'curl_version'</span><span class="sy0">,</span><span class="st_h">'current'</span><span class="sy0">,</span><span class="st_h">'cvsclient_connect'</span><span class="sy0">,</span><span class="st_h">'cvsclient_log'</span><span class="sy0">,</span></span></span> <span class="st_h">'cvsclient_login'</span><span class="sy0">,</span><span class="st_h">'cvsclient_retrieve'</span><span class="sy0">,</span><span class="st_h">'date'</span><span class="sy0">,</span><span class="st_h">'date_create'</span><span class="sy0">,</span> 2719 <span class="xtra li2"><span class="de2"> <span class="st_h">'date_date_set'</span><span class="sy0">,</span><span class="st_h">'date_default_timezone_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'date_default_timezone_set'</span><span class="sy0">,</span><span class="st_h">'date_format'</span><span class="sy0">,</span><span class="st_h">'date_isodate_set'</span><span class="sy0">,</span> 2720 <span class="xtra li2"><span class="de2"> <span class="st_h">'date_modify'</span><span class="sy0">,</span><span class="st_h">'date_offset_get'</span><span class="sy0">,</span><span class="st_h">'date_parse'</span><span class="sy0">,</span><span class="st_h">'date_sun_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'date_sunrise'</span><span class="sy0">,</span><span class="st_h">'date_sunset'</span><span class="sy0">,</span><span class="st_h">'date_time_set'</span><span class="sy0">,</span><span class="st_h">'date_timezone_get'</span><span class="sy0">,</span> 2721 <span class="xtra li2"><span class="de2"> <span class="st_h">'date_timezone_set'</span><span class="sy0">,</span><span class="st_h">'db_id_list'</span><span class="sy0">,</span><span class="st_h">'dba_close'</span><span class="sy0">,</span><span class="st_h">'dba_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'dba_exists'</span><span class="sy0">,</span><span class="st_h">'dba_fetch'</span><span class="sy0">,</span><span class="st_h">'dba_firstkey'</span><span class="sy0">,</span><span class="st_h">'dba_handlers'</span><span class="sy0">,</span><span class="st_h">'dba_insert'</span><span class="sy0">,</span> 2722 <span class="xtra li2"><span class="de2"> <span class="st_h">'dba_key_split'</span><span class="sy0">,</span><span class="st_h">'dba_list'</span><span class="sy0">,</span><span class="st_h">'dba_nextkey'</span><span class="sy0">,</span><span class="st_h">'dba_open'</span><span class="sy0">,</span><span class="st_h">'dba_optimize'</span><span class="sy0">,</span></span></span> <span class="st_h">'dba_popen'</span><span class="sy0">,</span><span class="st_h">'dba_replace'</span><span class="sy0">,</span><span class="st_h">'dba_sync'</span><span class="sy0">,</span><span class="st_h">'dbase_add_record'</span><span class="sy0">,</span> 2723 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_close'</span><span class="sy0">,</span><span class="st_h">'dbase_create'</span><span class="sy0">,</span><span class="st_h">'dbase_delete_record'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbase_get_header_info'</span><span class="sy0">,</span><span class="st_h">'dbase_get_record'</span><span class="sy0">,</span> 2724 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbase_get_record_with_names'</span><span class="sy0">,</span><span class="st_h">'dbase_numfields'</span><span class="sy0">,</span><span class="st_h">'dbase_numrecords'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbase_open'</span><span class="sy0">,</span><span class="st_h">'dbase_pack'</span><span class="sy0">,</span><span class="st_h">'dbase_replace_record'</span><span class="sy0">,</span> 2725 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_all_contexts'</span><span class="sy0">,</span><span class="st_h">'dbg_get_all_module_names'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbg_get_all_source_lines'</span><span class="sy0">,</span><span class="st_h">'dbg_get_context_name'</span><span class="sy0">,</span> 2726 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbg_get_module_name'</span><span class="sy0">,</span><span class="st_h">'dbg_get_profiler_results'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbg_get_source_context'</span><span class="sy0">,</span><span class="st_h">'dblist'</span><span class="sy0">,</span><span class="st_h">'dbmclose'</span><span class="sy0">,</span><span class="st_h">'dbmdelete'</span><span class="sy0">,</span> 2727 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbmexists'</span><span class="sy0">,</span><span class="st_h">'dbmfetch'</span><span class="sy0">,</span><span class="st_h">'dbmfirstkey'</span><span class="sy0">,</span><span class="st_h">'dbminsert'</span><span class="sy0">,</span><span class="st_h">'dbmnextkey'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbmopen'</span><span class="sy0">,</span><span class="st_h">'dbmreplace'</span><span class="sy0">,</span><span class="st_h">'dbx_close'</span><span class="sy0">,</span><span class="st_h">'dbx_compare'</span><span class="sy0">,</span><span class="st_h">'dbx_connect'</span><span class="sy0">,</span> 2728 <span class="xtra li2"><span class="de2"> <span class="st_h">'dbx_error'</span><span class="sy0">,</span><span class="st_h">'dbx_escape_string'</span><span class="sy0">,</span><span class="st_h">'dbx_fetch_row'</span><span class="sy0">,</span><span class="st_h">'dbx_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'dbx_sort'</span><span class="sy0">,</span><span class="st_h">'dcgettext'</span><span class="sy0">,</span><span class="st_h">'dcngettext'</span><span class="sy0">,</span><span class="st_h">'deaggregate'</span><span class="sy0">,</span><span class="st_h">'debug_backtrace'</span><span class="sy0">,</span> 2729 <span class="xtra li2"><span class="de2"> <span class="st_h">'debug_zval_dump'</span><span class="sy0">,</span><span class="st_h">'debugbreak'</span><span class="sy0">,</span><span class="st_h">'decbin'</span><span class="sy0">,</span><span class="st_h">'dechex'</span><span class="sy0">,</span><span class="st_h">'decoct'</span><span class="sy0">,</span><span class="st_h">'define'</span><span class="sy0">,</span></span></span> <span class="st_h">'defined'</span><span class="sy0">,</span><span class="st_h">'define_syslog_variables'</span><span class="sy0">,</span><span class="st_h">'deg2rad'</span><span class="sy0">,</span><span class="st_h">'dgettext'</span><span class="sy0">,</span><span class="st_h">'die'</span><span class="sy0">,</span> 2730 <span class="xtra li2"><span class="de2"> <span class="st_h">'dio_close'</span><span class="sy0">,</span><span class="st_h">'dio_open'</span><span class="sy0">,</span><span class="st_h">'dio_read'</span><span class="sy0">,</span><span class="st_h">'dio_seek'</span><span class="sy0">,</span><span class="st_h">'dio_stat'</span><span class="sy0">,</span><span class="st_h">'dio_write'</span><span class="sy0">,</span></span></span> <span class="st_h">'dir'</span><span class="sy0">,</span><span class="st_h">'dirname'</span><span class="sy0">,</span><span class="st_h">'disk_free_space'</span><span class="sy0">,</span><span class="st_h">'disk_total_space'</span><span class="sy0">,</span> 2731 <span class="xtra li2"><span class="de2"> <span class="st_h">'diskfreespace'</span><span class="sy0">,</span><span class="st_h">'dl'</span><span class="sy0">,</span><span class="st_h">'dngettext'</span><span class="sy0">,</span><span class="st_h">'docblock_token_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'docblock_tokenize'</span><span class="sy0">,</span><span class="st_h">'dom_import_simplexml'</span><span class="sy0">,</span><span class="st_h">'domxml_add_root'</span><span class="sy0">,</span> 2732 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_children'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_add_root'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_doc_document_element'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_get_element_by_id'</span><span class="sy0">,</span> 2733 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_doc_get_elements_by_tagname'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_get_root'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_doc_set_root'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_validate'</span><span class="sy0">,</span><span class="st_h">'domxml_doc_xinclude'</span><span class="sy0">,</span> 2734 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_dump_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_dump_mem_file'</span><span class="sy0">,</span><span class="st_h">'domxml_dump_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_dumpmem'</span><span class="sy0">,</span><span class="st_h">'domxml_elem_get_attribute'</span><span class="sy0">,</span> 2735 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_elem_set_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_get_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_getattr'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_html_dump_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_new_doc'</span><span class="sy0">,</span> 2736 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_new_xmldoc'</span><span class="sy0">,</span><span class="st_h">'domxml_node'</span><span class="sy0">,</span><span class="st_h">'domxml_node_add_namespace'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_node_attributes'</span><span class="sy0">,</span><span class="st_h">'domxml_node_children'</span><span class="sy0">,</span> 2737 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_get_content'</span><span class="sy0">,</span><span class="st_h">'domxml_node_has_attributes'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_node_new_child'</span><span class="sy0">,</span><span class="st_h">'domxml_node_set_content'</span><span class="sy0">,</span> 2738 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_node_set_namespace'</span><span class="sy0">,</span><span class="st_h">'domxml_node_unlink_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_open_file'</span><span class="sy0">,</span><span class="st_h">'domxml_open_mem'</span><span class="sy0">,</span><span class="st_h">'domxml_parser'</span><span class="sy0">,</span> 2739 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_add_chunk'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_cdata_section'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_characters'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_comment'</span><span class="sy0">,</span> 2740 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_end'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_end_document'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_end_element'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_entity_reference'</span><span class="sy0">,</span> 2741 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_get_document'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_namespace_decl'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_parser_processing_instruction'</span><span class="sy0">,</span> 2742 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_parser_start_document'</span><span class="sy0">,</span><span class="st_h">'domxml_parser_start_element'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_root'</span><span class="sy0">,</span><span class="st_h">'domxml_set_attribute'</span><span class="sy0">,</span><span class="st_h">'domxml_setattr'</span><span class="sy0">,</span> 2743 <span class="xtra li2"><span class="de2"> <span class="st_h">'domxml_substitute_entities_default'</span><span class="sy0">,</span><span class="st_h">'domxml_unlink_node'</span><span class="sy0">,</span></span></span> <span class="st_h">'domxml_version'</span><span class="sy0">,</span><span class="st_h">'domxml_xmltree'</span><span class="sy0">,</span><span class="st_h">'doubleval'</span><span class="sy0">,</span><span class="st_h">'each'</span><span class="sy0">,</span><span class="st_h">'easter_date'</span><span class="sy0">,</span> 2744 <span class="xtra li2"><span class="de2"> <span class="st_h">'easter_days'</span><span class="sy0">,</span><span class="st_h">'empty'</span><span class="sy0">,</span><span class="st_h">'end'</span><span class="sy0">,</span><span class="st_h">'ereg'</span><span class="sy0">,</span><span class="st_h">'ereg_replace'</span><span class="sy0">,</span><span class="st_h">'eregi'</span><span class="sy0">,</span></span></span> <span class="st_h">'eregi_replace'</span><span class="sy0">,</span><span class="st_h">'error_get_last'</span><span class="sy0">,</span><span class="st_h">'error_log'</span><span class="sy0">,</span><span class="st_h">'error_reporting'</span><span class="sy0">,</span> 2745 <span class="xtra li2"><span class="de2"> <span class="st_h">'escapeshellarg'</span><span class="sy0">,</span><span class="st_h">'escapeshellcmd'</span><span class="sy0">,</span><span class="st_h">'eval'</span><span class="sy0">,</span><span class="st_h">'event_deschedule'</span><span class="sy0">,</span></span></span> <span class="st_h">'event_dispatch'</span><span class="sy0">,</span><span class="st_h">'event_free'</span><span class="sy0">,</span><span class="st_h">'event_handle_signal'</span><span class="sy0">,</span> 2746 <span class="xtra li2"><span class="de2"> <span class="st_h">'event_have_events'</span><span class="sy0">,</span><span class="st_h">'event_init'</span><span class="sy0">,</span><span class="st_h">'event_new'</span><span class="sy0">,</span><span class="st_h">'event_pending'</span><span class="sy0">,</span></span></span> <span class="st_h">'event_priority_set'</span><span class="sy0">,</span><span class="st_h">'event_schedule'</span><span class="sy0">,</span><span class="st_h">'event_set'</span><span class="sy0">,</span><span class="st_h">'event_timeout'</span><span class="sy0">,</span> 2747 <span class="xtra li2"><span class="de2"> <span class="st_h">'exec'</span><span class="sy0">,</span><span class="st_h">'exif_imagetype'</span><span class="sy0">,</span><span class="st_h">'exif_read_data'</span><span class="sy0">,</span><span class="st_h">'exif_tagname'</span><span class="sy0">,</span></span></span> <span class="st_h">'exif_thumbnail'</span><span class="sy0">,</span><span class="st_h">'exit'</span><span class="sy0">,</span><span class="st_h">'exp'</span><span class="sy0">,</span><span class="st_h">'explode'</span><span class="sy0">,</span><span class="st_h">'expm1'</span><span class="sy0">,</span><span class="st_h">'extension_loaded'</span><span class="sy0">,</span> 2748 <span class="xtra li2"><span class="de2"> <span class="st_h">'extract'</span><span class="sy0">,</span><span class="st_h">'ezmlm_hash'</span><span class="sy0">,</span><span class="st_h">'fbird_add_user'</span><span class="sy0">,</span><span class="st_h">'fbird_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_backup'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_add'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_cancel'</span><span class="sy0">,</span> 2749 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_blob_close'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_create'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_echo'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_blob_get'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_import'</span><span class="sy0">,</span><span class="st_h">'fbird_blob_info'</span><span class="sy0">,</span> 2750 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_blob_open'</span><span class="sy0">,</span><span class="st_h">'fbird_close'</span><span class="sy0">,</span><span class="st_h">'fbird_commit'</span><span class="sy0">,</span><span class="st_h">'fbird_commit_ret'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_connect'</span><span class="sy0">,</span><span class="st_h">'fbird_db_info'</span><span class="sy0">,</span><span class="st_h">'fbird_delete_user'</span><span class="sy0">,</span><span class="st_h">'fbird_drop_db'</span><span class="sy0">,</span> 2751 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_errcode'</span><span class="sy0">,</span><span class="st_h">'fbird_errmsg'</span><span class="sy0">,</span><span class="st_h">'fbird_execute'</span><span class="sy0">,</span><span class="st_h">'fbird_fetch_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_fetch_object'</span><span class="sy0">,</span><span class="st_h">'fbird_fetch_row'</span><span class="sy0">,</span><span class="st_h">'fbird_field_info'</span><span class="sy0">,</span> 2752 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_free_event_handler'</span><span class="sy0">,</span><span class="st_h">'fbird_free_query'</span><span class="sy0">,</span><span class="st_h">'fbird_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_gen_id'</span><span class="sy0">,</span><span class="st_h">'fbird_maintain_db'</span><span class="sy0">,</span><span class="st_h">'fbird_modify_user'</span><span class="sy0">,</span> 2753 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_name_result'</span><span class="sy0">,</span><span class="st_h">'fbird_num_fields'</span><span class="sy0">,</span><span class="st_h">'fbird_num_params'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_param_info'</span><span class="sy0">,</span><span class="st_h">'fbird_pconnect'</span><span class="sy0">,</span><span class="st_h">'fbird_prepare'</span><span class="sy0">,</span><span class="st_h">'fbird_query'</span><span class="sy0">,</span> 2754 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_restore'</span><span class="sy0">,</span><span class="st_h">'fbird_rollback'</span><span class="sy0">,</span><span class="st_h">'fbird_rollback_ret'</span><span class="sy0">,</span></span></span> <span class="st_h">'fbird_server_info'</span><span class="sy0">,</span><span class="st_h">'fbird_service_attach'</span><span class="sy0">,</span><span class="st_h">'fbird_service_detach'</span><span class="sy0">,</span> 2755 <span class="xtra li2"><span class="de2"> <span class="st_h">'fbird_set_event_handler'</span><span class="sy0">,</span><span class="st_h">'fbird_trans'</span><span class="sy0">,</span><span class="st_h">'fbird_wait_event'</span><span class="sy0">,</span><span class="st_h">'fclose'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_add_doc_javascript'</span><span class="sy0">,</span><span class="st_h">'fdf_add_template'</span><span class="sy0">,</span><span class="st_h">'fdf_close'</span><span class="sy0">,</span> 2756 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_create'</span><span class="sy0">,</span><span class="st_h">'fdf_enum_values'</span><span class="sy0">,</span><span class="st_h">'fdf_errno'</span><span class="sy0">,</span><span class="st_h">'fdf_error'</span><span class="sy0">,</span><span class="st_h">'fdf_get_ap'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_get_attachment'</span><span class="sy0">,</span><span class="st_h">'fdf_get_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_get_file'</span><span class="sy0">,</span> 2757 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_get_flags'</span><span class="sy0">,</span><span class="st_h">'fdf_get_opt'</span><span class="sy0">,</span><span class="st_h">'fdf_get_status'</span><span class="sy0">,</span><span class="st_h">'fdf_get_value'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_get_version'</span><span class="sy0">,</span><span class="st_h">'fdf_header'</span><span class="sy0">,</span><span class="st_h">'fdf_next_field_name'</span><span class="sy0">,</span><span class="st_h">'fdf_open'</span><span class="sy0">,</span> 2758 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_open_string'</span><span class="sy0">,</span><span class="st_h">'fdf_remove_item'</span><span class="sy0">,</span><span class="st_h">'fdf_save'</span><span class="sy0">,</span><span class="st_h">'fdf_save_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_set_ap'</span><span class="sy0">,</span><span class="st_h">'fdf_set_encoding'</span><span class="sy0">,</span><span class="st_h">'fdf_set_file'</span><span class="sy0">,</span><span class="st_h">'fdf_set_flags'</span><span class="sy0">,</span> 2759 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_javascript_action'</span><span class="sy0">,</span><span class="st_h">'fdf_set_on_import_javascript'</span><span class="sy0">,</span></span></span> <span class="st_h">'fdf_set_opt'</span><span class="sy0">,</span><span class="st_h">'fdf_set_status'</span><span class="sy0">,</span><span class="st_h">'fdf_set_submit_form_action'</span><span class="sy0">,</span> 2760 <span class="xtra li2"><span class="de2"> <span class="st_h">'fdf_set_target_frame'</span><span class="sy0">,</span><span class="st_h">'fdf_set_value'</span><span class="sy0">,</span><span class="st_h">'fdf_set_version'</span><span class="sy0">,</span><span class="st_h">'feof'</span><span class="sy0">,</span></span></span> <span class="st_h">'fflush'</span><span class="sy0">,</span><span class="st_h">'fgetc'</span><span class="sy0">,</span><span class="st_h">'fgetcsv'</span><span class="sy0">,</span><span class="st_h">'fgets'</span><span class="sy0">,</span><span class="st_h">'fgetss'</span><span class="sy0">,</span><span class="st_h">'file'</span><span class="sy0">,</span><span class="st_h">'file_exists'</span><span class="sy0">,</span> 2761 <span class="xtra li2"><span class="de2"> <span class="st_h">'file_get_contents'</span><span class="sy0">,</span><span class="st_h">'file_put_contents'</span><span class="sy0">,</span><span class="st_h">'fileatime'</span><span class="sy0">,</span><span class="st_h">'filectime'</span><span class="sy0">,</span></span></span> <span class="st_h">'filegroup'</span><span class="sy0">,</span><span class="st_h">'fileinode'</span><span class="sy0">,</span><span class="st_h">'filemtime'</span><span class="sy0">,</span><span class="st_h">'fileowner'</span><span class="sy0">,</span><span class="st_h">'fileperms'</span><span class="sy0">,</span> 2762 <span class="xtra li2"><span class="de2"> <span class="st_h">'filepro'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldcount'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldname'</span><span class="sy0">,</span></span></span> <span class="st_h">'filepro_fieldtype'</span><span class="sy0">,</span><span class="st_h">'filepro_fieldwidth'</span><span class="sy0">,</span><span class="st_h">'filepro_retrieve'</span><span class="sy0">,</span> 2763 <span class="xtra li2"><span class="de2"> <span class="st_h">'filepro_rowcount'</span><span class="sy0">,</span><span class="st_h">'filesize'</span><span class="sy0">,</span><span class="st_h">'filetype'</span><span class="sy0">,</span><span class="st_h">'filter_has_var'</span><span class="sy0">,</span></span></span> <span class="st_h">'filter_id'</span><span class="sy0">,</span><span class="st_h">'filter_input'</span><span class="sy0">,</span><span class="st_h">'filter_input_array'</span><span class="sy0">,</span><span class="st_h">'filter_list'</span><span class="sy0">,</span> 2764 <span class="xtra li2"><span class="de2"> <span class="st_h">'filter_var'</span><span class="sy0">,</span><span class="st_h">'filter_var_array'</span><span class="sy0">,</span><span class="st_h">'finfo_buffer'</span><span class="sy0">,</span><span class="st_h">'finfo_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'finfo_file'</span><span class="sy0">,</span><span class="st_h">'finfo_open'</span><span class="sy0">,</span><span class="st_h">'finfo_set_flags'</span><span class="sy0">,</span><span class="st_h">'floatval'</span><span class="sy0">,</span><span class="st_h">'flock'</span><span class="sy0">,</span> 2765 <span class="xtra li2"><span class="de2"> <span class="st_h">'floor'</span><span class="sy0">,</span><span class="st_h">'flush'</span><span class="sy0">,</span><span class="st_h">'fmod'</span><span class="sy0">,</span><span class="st_h">'fnmatch'</span><span class="sy0">,</span><span class="st_h">'fopen'</span><span class="sy0">,</span><span class="st_h">'fpassthru'</span><span class="sy0">,</span><span class="st_h">'fprintf'</span><span class="sy0">,</span></span></span> <span class="st_h">'fputcsv'</span><span class="sy0">,</span><span class="st_h">'fputs'</span><span class="sy0">,</span><span class="st_h">'fread'</span><span class="sy0">,</span><span class="st_h">'frenchtojd'</span><span class="sy0">,</span><span class="st_h">'fribidi_charset_info'</span><span class="sy0">,</span> 2766 <span class="xtra li2"><span class="de2"> <span class="st_h">'fribidi_get_charsets'</span><span class="sy0">,</span><span class="st_h">'fribidi_log2vis'</span><span class="sy0">,</span><span class="st_h">'fscanf'</span><span class="sy0">,</span><span class="st_h">'fseek'</span><span class="sy0">,</span></span></span> <span class="st_h">'fsockopen'</span><span class="sy0">,</span><span class="st_h">'fstat'</span><span class="sy0">,</span><span class="st_h">'ftell'</span><span class="sy0">,</span><span class="st_h">'ftok'</span><span class="sy0">,</span><span class="st_h">'ftp_alloc'</span><span class="sy0">,</span><span class="st_h">'ftp_cdup'</span><span class="sy0">,</span> 2767 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_chdir'</span><span class="sy0">,</span><span class="st_h">'ftp_chmod'</span><span class="sy0">,</span><span class="st_h">'ftp_close'</span><span class="sy0">,</span><span class="st_h">'ftp_connect'</span><span class="sy0">,</span><span class="st_h">'ftp_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_exec'</span><span class="sy0">,</span><span class="st_h">'ftp_fget'</span><span class="sy0">,</span><span class="st_h">'ftp_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_get'</span><span class="sy0">,</span><span class="st_h">'ftp_get_option'</span><span class="sy0">,</span> 2768 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_login'</span><span class="sy0">,</span><span class="st_h">'ftp_mdtm'</span><span class="sy0">,</span><span class="st_h">'ftp_mkdir'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_continue'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_fget'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_nb_fput'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_get'</span><span class="sy0">,</span><span class="st_h">'ftp_nb_put'</span><span class="sy0">,</span><span class="st_h">'ftp_nlist'</span><span class="sy0">,</span><span class="st_h">'ftp_pasv'</span><span class="sy0">,</span> 2769 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_put'</span><span class="sy0">,</span><span class="st_h">'ftp_pwd'</span><span class="sy0">,</span><span class="st_h">'ftp_quit'</span><span class="sy0">,</span><span class="st_h">'ftp_raw'</span><span class="sy0">,</span><span class="st_h">'ftp_rawlist'</span><span class="sy0">,</span><span class="st_h">'ftp_rename'</span><span class="sy0">,</span></span></span> <span class="st_h">'ftp_rmdir'</span><span class="sy0">,</span><span class="st_h">'ftp_set_option'</span><span class="sy0">,</span><span class="st_h">'ftp_site'</span><span class="sy0">,</span><span class="st_h">'ftp_size'</span><span class="sy0">,</span> 2770 <span class="xtra li2"><span class="de2"> <span class="st_h">'ftp_ssl_connect'</span><span class="sy0">,</span><span class="st_h">'ftp_systype'</span><span class="sy0">,</span><span class="st_h">'ftruncate'</span><span class="sy0">,</span><span class="st_h">'function_exists'</span><span class="sy0">,</span></span></span> <span class="st_h">'func_get_arg'</span><span class="sy0">,</span><span class="st_h">'func_get_args'</span><span class="sy0">,</span><span class="st_h">'func_num_args'</span><span class="sy0">,</span><span class="st_h">'fwrite'</span><span class="sy0">,</span><span class="st_h">'gd_info'</span><span class="sy0">,</span> 2771 <span class="xtra li2"><span class="de2"> <span class="st_h">'getallheaders'</span><span class="sy0">,</span><span class="st_h">'getcwd'</span><span class="sy0">,</span><span class="st_h">'getdate'</span><span class="sy0">,</span><span class="st_h">'getenv'</span><span class="sy0">,</span><span class="st_h">'gethostbyaddr'</span><span class="sy0">,</span></span></span> <span class="st_h">'gethostbyname'</span><span class="sy0">,</span><span class="st_h">'gethostbynamel'</span><span class="sy0">,</span><span class="st_h">'getimagesize'</span><span class="sy0">,</span><span class="st_h">'getlastmod'</span><span class="sy0">,</span> 2772 <span class="xtra li2"><span class="de2"> <span class="st_h">'getmxrr'</span><span class="sy0">,</span><span class="st_h">'getmygid'</span><span class="sy0">,</span><span class="st_h">'getmyinode'</span><span class="sy0">,</span><span class="st_h">'getmypid'</span><span class="sy0">,</span><span class="st_h">'getmyuid'</span><span class="sy0">,</span><span class="st_h">'getopt'</span><span class="sy0">,</span></span></span> <span class="st_h">'getprotobyname'</span><span class="sy0">,</span><span class="st_h">'getprotobynumber'</span><span class="sy0">,</span><span class="st_h">'getrandmax'</span><span class="sy0">,</span><span class="st_h">'getrusage'</span><span class="sy0">,</span> 2773 <span class="xtra li2"><span class="de2"> <span class="st_h">'getservbyname'</span><span class="sy0">,</span><span class="st_h">'getservbyport'</span><span class="sy0">,</span><span class="st_h">'gettext'</span><span class="sy0">,</span><span class="st_h">'gettimeofday'</span><span class="sy0">,</span><span class="st_h">'gettype'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_browser'</span><span class="sy0">,</span><span class="st_h">'get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'get_class'</span><span class="sy0">,</span><span class="st_h">'get_class_methods'</span><span class="sy0">,</span> 2774 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_class_vars'</span><span class="sy0">,</span><span class="st_h">'get_current_user'</span><span class="sy0">,</span><span class="st_h">'get_declared_classes'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_defined_constants'</span><span class="sy0">,</span><span class="st_h">'get_defined_functions'</span><span class="sy0">,</span><span class="st_h">'get_defined_vars'</span><span class="sy0">,</span> 2775 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_extension_funcs'</span><span class="sy0">,</span><span class="st_h">'get_headers'</span><span class="sy0">,</span><span class="st_h">'get_html_translation_table'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_included_files'</span><span class="sy0">,</span><span class="st_h">'get_include_path'</span><span class="sy0">,</span><span class="st_h">'get_loaded_extensions'</span><span class="sy0">,</span> 2776 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_magic_quotes_gpc'</span><span class="sy0">,</span><span class="st_h">'get_magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'get_meta_tags'</span><span class="sy0">,</span></span></span> <span class="st_h">'get_object_vars'</span><span class="sy0">,</span><span class="st_h">'get_parent_class'</span><span class="sy0">,</span><span class="st_h">'get_required_files'</span><span class="sy0">,</span> 2777 <span class="xtra li2"><span class="de2"> <span class="st_h">'get_resource_type'</span><span class="sy0">,</span><span class="st_h">'glob'</span><span class="sy0">,</span><span class="st_h">'gmdate'</span><span class="sy0">,</span><span class="st_h">'gmmktime'</span><span class="sy0">,</span><span class="st_h">'gmp_abs'</span><span class="sy0">,</span><span class="st_h">'gmp_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_and'</span><span class="sy0">,</span><span class="st_h">'gmp_clrbit'</span><span class="sy0">,</span><span class="st_h">'gmp_cmp'</span><span class="sy0">,</span><span class="st_h">'gmp_com'</span><span class="sy0">,</span><span class="st_h">'gmp_div'</span><span class="sy0">,</span><span class="st_h">'gmp_div_q'</span><span class="sy0">,</span> 2778 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_div_qr'</span><span class="sy0">,</span><span class="st_h">'gmp_div_r'</span><span class="sy0">,</span><span class="st_h">'gmp_divexact'</span><span class="sy0">,</span><span class="st_h">'gmp_fact'</span><span class="sy0">,</span><span class="st_h">'gmp_gcd'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_gcdext'</span><span class="sy0">,</span><span class="st_h">'gmp_hamdist'</span><span class="sy0">,</span><span class="st_h">'gmp_init'</span><span class="sy0">,</span><span class="st_h">'gmp_intval'</span><span class="sy0">,</span><span class="st_h">'gmp_invert'</span><span class="sy0">,</span> 2779 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_jacobi'</span><span class="sy0">,</span><span class="st_h">'gmp_legendre'</span><span class="sy0">,</span><span class="st_h">'gmp_mod'</span><span class="sy0">,</span><span class="st_h">'gmp_mul'</span><span class="sy0">,</span><span class="st_h">'gmp_neg'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_nextprime'</span><span class="sy0">,</span><span class="st_h">'gmp_or'</span><span class="sy0">,</span><span class="st_h">'gmp_perfect_square'</span><span class="sy0">,</span><span class="st_h">'gmp_popcount'</span><span class="sy0">,</span> 2780 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_pow'</span><span class="sy0">,</span><span class="st_h">'gmp_powm'</span><span class="sy0">,</span><span class="st_h">'gmp_prob_prime'</span><span class="sy0">,</span><span class="st_h">'gmp_random'</span><span class="sy0">,</span><span class="st_h">'gmp_scan0'</span><span class="sy0">,</span></span></span> <span class="st_h">'gmp_scan1'</span><span class="sy0">,</span><span class="st_h">'gmp_setbit'</span><span class="sy0">,</span><span class="st_h">'gmp_sign'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrt'</span><span class="sy0">,</span><span class="st_h">'gmp_sqrtrem'</span><span class="sy0">,</span> 2781 <span class="xtra li2"><span class="de2"> <span class="st_h">'gmp_strval'</span><span class="sy0">,</span><span class="st_h">'gmp_sub'</span><span class="sy0">,</span><span class="st_h">'gmp_xor'</span><span class="sy0">,</span><span class="st_h">'gmstrftime'</span><span class="sy0">,</span><span class="st_h">'gopher_parsedir'</span><span class="sy0">,</span></span></span> <span class="st_h">'gregoriantojd'</span><span class="sy0">,</span><span class="st_h">'gzclose'</span><span class="sy0">,</span><span class="st_h">'gzcompress'</span><span class="sy0">,</span><span class="st_h">'gzdeflate'</span><span class="sy0">,</span><span class="st_h">'gzencode'</span><span class="sy0">,</span> 2782 <span class="xtra li2"><span class="de2"> <span class="st_h">'gzeof'</span><span class="sy0">,</span><span class="st_h">'gzfile'</span><span class="sy0">,</span><span class="st_h">'gzgetc'</span><span class="sy0">,</span><span class="st_h">'gzgets'</span><span class="sy0">,</span><span class="st_h">'gzgetss'</span><span class="sy0">,</span><span class="st_h">'gzinflate'</span><span class="sy0">,</span><span class="st_h">'gzopen'</span><span class="sy0">,</span></span></span> <span class="st_h">'gzpassthru'</span><span class="sy0">,</span><span class="st_h">'gzputs'</span><span class="sy0">,</span><span class="st_h">'gzread'</span><span class="sy0">,</span><span class="st_h">'gzrewind'</span><span class="sy0">,</span><span class="st_h">'gzseek'</span><span class="sy0">,</span><span class="st_h">'gztell'</span><span class="sy0">,</span> 2783 <span class="xtra li2"><span class="de2"> <span class="st_h">'gzuncompress'</span><span class="sy0">,</span><span class="st_h">'gzwrite'</span><span class="sy0">,</span><span class="st_h">'hash'</span><span class="sy0">,</span><span class="st_h">'hash_algos'</span><span class="sy0">,</span><span class="st_h">'hash_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'hash_final'</span><span class="sy0">,</span><span class="st_h">'hash_hmac'</span><span class="sy0">,</span><span class="st_h">'hash_hmac_file'</span><span class="sy0">,</span><span class="st_h">'hash_init'</span><span class="sy0">,</span><span class="st_h">'hash_update'</span><span class="sy0">,</span> 2784 <span class="xtra li2"><span class="de2"> <span class="st_h">'hash_update_file'</span><span class="sy0">,</span><span class="st_h">'hash_update_stream'</span><span class="sy0">,</span><span class="st_h">'header'</span><span class="sy0">,</span><span class="st_h">'headers_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'headers_sent'</span><span class="sy0">,</span><span class="st_h">'hebrev'</span><span class="sy0">,</span><span class="st_h">'hebrevc'</span><span class="sy0">,</span><span class="st_h">'hexdec'</span><span class="sy0">,</span><span class="st_h">'highlight_file'</span><span class="sy0">,</span> 2785 <span class="xtra li2"><span class="de2"> <span class="st_h">'highlight_string'</span><span class="sy0">,</span><span class="st_h">'html_doc'</span><span class="sy0">,</span><span class="st_h">'html_doc_file'</span><span class="sy0">,</span><span class="st_h">'html_entity_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'htmlentities'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars'</span><span class="sy0">,</span><span class="st_h">'htmlspecialchars_decode'</span><span class="sy0">,</span> 2786 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_build_cookie'</span><span class="sy0">,</span><span class="st_h">'http_build_query'</span><span class="sy0">,</span><span class="st_h">'http_build_str'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_build_url'</span><span class="sy0">,</span><span class="st_h">'http_cache_etag'</span><span class="sy0">,</span><span class="st_h">'http_cache_last_modified'</span><span class="sy0">,</span> 2787 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_chunked_decode'</span><span class="sy0">,</span><span class="st_h">'http_date'</span><span class="sy0">,</span><span class="st_h">'http_deflate'</span><span class="sy0">,</span><span class="st_h">'http_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_get_request_body'</span><span class="sy0">,</span><span class="st_h">'http_get_request_body_stream'</span><span class="sy0">,</span> 2788 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_get_request_headers'</span><span class="sy0">,</span><span class="st_h">'http_head'</span><span class="sy0">,</span><span class="st_h">'http_inflate'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_match_etag'</span><span class="sy0">,</span><span class="st_h">'http_match_modified'</span><span class="sy0">,</span><span class="st_h">'http_match_request_header'</span><span class="sy0">,</span> 2789 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_negotiate_charset'</span><span class="sy0">,</span><span class="st_h">'http_negotiate_content_type'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_negotiate_language'</span><span class="sy0">,</span><span class="st_h">'http_parse_cookie'</span><span class="sy0">,</span><span class="st_h">'http_parse_headers'</span><span class="sy0">,</span> 2790 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_parse_message'</span><span class="sy0">,</span><span class="st_h">'http_parse_params'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_persistent_handles_clean'</span><span class="sy0">,</span><span class="st_h">'http_persistent_handles_count'</span><span class="sy0">,</span> 2791 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_persistent_handles_ident'</span><span class="sy0">,</span><span class="st_h">'http_post_data'</span><span class="sy0">,</span><span class="st_h">'http_post_fields'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_put_data'</span><span class="sy0">,</span><span class="st_h">'http_put_file'</span><span class="sy0">,</span><span class="st_h">'http_put_stream'</span><span class="sy0">,</span><span class="st_h">'http_redirect'</span><span class="sy0">,</span> 2792 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_request'</span><span class="sy0">,</span><span class="st_h">'http_request_body_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_request_method_exists'</span><span class="sy0">,</span><span class="st_h">'http_request_method_name'</span><span class="sy0">,</span> 2793 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_request_method_register'</span><span class="sy0">,</span><span class="st_h">'http_request_method_unregister'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_send_content_disposition'</span><span class="sy0">,</span><span class="st_h">'http_send_content_type'</span><span class="sy0">,</span> 2794 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_send_data'</span><span class="sy0">,</span><span class="st_h">'http_send_file'</span><span class="sy0">,</span><span class="st_h">'http_send_last_modified'</span><span class="sy0">,</span></span></span> <span class="st_h">'http_send_status'</span><span class="sy0">,</span><span class="st_h">'http_send_stream'</span><span class="sy0">,</span><span class="st_h">'http_support'</span><span class="sy0">,</span> 2795 <span class="xtra li2"><span class="de2"> <span class="st_h">'http_throttle'</span><span class="sy0">,</span><span class="st_h">'hypot'</span><span class="sy0">,</span><span class="st_h">'i18n_convert'</span><span class="sy0">,</span><span class="st_h">'i18n_discover_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'i18n_http_input'</span><span class="sy0">,</span><span class="st_h">'i18n_http_output'</span><span class="sy0">,</span><span class="st_h">'i18n_internal_encoding'</span><span class="sy0">,</span> 2796 <span class="xtra li2"><span class="de2"> <span class="st_h">'i18n_ja_jp_hantozen'</span><span class="sy0">,</span><span class="st_h">'i18n_mime_header_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'i18n_mime_header_encode'</span><span class="sy0">,</span><span class="st_h">'ibase_add_user'</span><span class="sy0">,</span><span class="st_h">'ibase_affected_rows'</span><span class="sy0">,</span> 2797 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_backup'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_add'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_cancel'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_blob_close'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_create'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_echo'</span><span class="sy0">,</span> 2798 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_blob_get'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_import'</span><span class="sy0">,</span><span class="st_h">'ibase_blob_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_blob_open'</span><span class="sy0">,</span><span class="st_h">'ibase_close'</span><span class="sy0">,</span><span class="st_h">'ibase_commit'</span><span class="sy0">,</span><span class="st_h">'ibase_commit_ret'</span><span class="sy0">,</span> 2799 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_connect'</span><span class="sy0">,</span><span class="st_h">'ibase_db_info'</span><span class="sy0">,</span><span class="st_h">'ibase_delete_user'</span><span class="sy0">,</span><span class="st_h">'ibase_drop_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_errcode'</span><span class="sy0">,</span><span class="st_h">'ibase_errmsg'</span><span class="sy0">,</span><span class="st_h">'ibase_execute'</span><span class="sy0">,</span><span class="st_h">'ibase_fetch_assoc'</span><span class="sy0">,</span> 2800 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_fetch_object'</span><span class="sy0">,</span><span class="st_h">'ibase_fetch_row'</span><span class="sy0">,</span><span class="st_h">'ibase_field_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_free_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_free_query'</span><span class="sy0">,</span><span class="st_h">'ibase_free_result'</span><span class="sy0">,</span> 2801 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_gen_id'</span><span class="sy0">,</span><span class="st_h">'ibase_maintain_db'</span><span class="sy0">,</span><span class="st_h">'ibase_modify_user'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_name_result'</span><span class="sy0">,</span><span class="st_h">'ibase_num_fields'</span><span class="sy0">,</span><span class="st_h">'ibase_num_params'</span><span class="sy0">,</span> 2802 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_param_info'</span><span class="sy0">,</span><span class="st_h">'ibase_pconnect'</span><span class="sy0">,</span><span class="st_h">'ibase_prepare'</span><span class="sy0">,</span><span class="st_h">'ibase_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_restore'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback'</span><span class="sy0">,</span><span class="st_h">'ibase_rollback_ret'</span><span class="sy0">,</span> 2803 <span class="xtra li2"><span class="de2"> <span class="st_h">'ibase_server_info'</span><span class="sy0">,</span><span class="st_h">'ibase_service_attach'</span><span class="sy0">,</span><span class="st_h">'ibase_service_detach'</span><span class="sy0">,</span></span></span> <span class="st_h">'ibase_set_event_handler'</span><span class="sy0">,</span><span class="st_h">'ibase_trans'</span><span class="sy0">,</span><span class="st_h">'ibase_wait_event'</span><span class="sy0">,</span><span class="st_h">'iconv'</span><span class="sy0">,</span> 2804 <span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_get_encoding'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_decode'</span><span class="sy0">,</span></span></span> <span class="st_h">'iconv_mime_decode_headers'</span><span class="sy0">,</span><span class="st_h">'iconv_mime_encode'</span><span class="sy0">,</span> 2805 <span class="xtra li2"><span class="de2"> <span class="st_h">'iconv_set_encoding'</span><span class="sy0">,</span><span class="st_h">'iconv_strlen'</span><span class="sy0">,</span><span class="st_h">'iconv_strpos'</span><span class="sy0">,</span><span class="st_h">'iconv_strrpos'</span><span class="sy0">,</span></span></span> <span class="st_h">'iconv_substr'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_long_name'</span><span class="sy0">,</span><span class="st_h">'id3_get_frame_short_name'</span><span class="sy0">,</span> 2806 <span class="xtra li2"><span class="de2"> <span class="st_h">'id3_get_genre_id'</span><span class="sy0">,</span><span class="st_h">'id3_get_genre_list'</span><span class="sy0">,</span><span class="st_h">'id3_get_genre_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'id3_get_tag'</span><span class="sy0">,</span><span class="st_h">'id3_get_version'</span><span class="sy0">,</span><span class="st_h">'id3_remove_tag'</span><span class="sy0">,</span><span class="st_h">'id3_set_tag'</span><span class="sy0">,</span> 2807 <span class="xtra li2"><span class="de2"> <span class="st_h">'idate'</span><span class="sy0">,</span><span class="st_h">'ignore_user_abort'</span><span class="sy0">,</span><span class="st_h">'image_type_to_extension'</span><span class="sy0">,</span></span></span> <span class="st_h">'image_type_to_mime_type'</span><span class="sy0">,</span><span class="st_h">'image2wbmp'</span><span class="sy0">,</span><span class="st_h">'imagealphablending'</span><span class="sy0">,</span> 2808 <span class="xtra li2"><span class="de2"> <span class="st_h">'imageantialias'</span><span class="sy0">,</span><span class="st_h">'imagearc'</span><span class="sy0">,</span><span class="st_h">'imagechar'</span><span class="sy0">,</span><span class="st_h">'imagecharup'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorallocate'</span><span class="sy0">,</span><span class="st_h">'imagecolorallocatealpha'</span><span class="sy0">,</span><span class="st_h">'imagecolorat'</span><span class="sy0">,</span> 2809 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorclosest'</span><span class="sy0">,</span><span class="st_h">'imagecolorclosestalpha'</span><span class="sy0">,</span><span class="st_h">'imagecolordeallocate'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorexact'</span><span class="sy0">,</span><span class="st_h">'imagecolorexactalpha'</span><span class="sy0">,</span><span class="st_h">'imagecolormatch'</span><span class="sy0">,</span> 2810 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecolorresolve'</span><span class="sy0">,</span><span class="st_h">'imagecolorresolvealpha'</span><span class="sy0">,</span><span class="st_h">'imagecolorset'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecolorsforindex'</span><span class="sy0">,</span><span class="st_h">'imagecolorstotal'</span><span class="sy0">,</span><span class="st_h">'imagecolortransparent'</span><span class="sy0">,</span> 2811 <span class="xtra li2"><span class="de2"> <span class="st_h">'imageconvolution'</span><span class="sy0">,</span><span class="st_h">'imagecopy'</span><span class="sy0">,</span><span class="st_h">'imagecopymerge'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecopymergegray'</span><span class="sy0">,</span><span class="st_h">'imagecopyresampled'</span><span class="sy0">,</span><span class="st_h">'imagecopyresized'</span><span class="sy0">,</span> 2812 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreate'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgd'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgd2'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecreatefromgd2part'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromgif'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromjpeg'</span><span class="sy0">,</span> 2813 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagecreatefrompng'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromstring'</span><span class="sy0">,</span><span class="st_h">'imagecreatefromwbmp'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagecreatefromxbm'</span><span class="sy0">,</span><span class="st_h">'imagecreatetruecolor'</span><span class="sy0">,</span><span class="st_h">'imagedashedline'</span><span class="sy0">,</span> 2814 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagedestroy'</span><span class="sy0">,</span><span class="st_h">'imageellipse'</span><span class="sy0">,</span><span class="st_h">'imagefill'</span><span class="sy0">,</span><span class="st_h">'imagefilledarc'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagefilledellipse'</span><span class="sy0">,</span><span class="st_h">'imagefilledpolygon'</span><span class="sy0">,</span><span class="st_h">'imagefilledrectangle'</span><span class="sy0">,</span> 2815 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagefilltoborder'</span><span class="sy0">,</span><span class="st_h">'imagefilter'</span><span class="sy0">,</span><span class="st_h">'imagefontheight'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagefontwidth'</span><span class="sy0">,</span><span class="st_h">'imageftbbox'</span><span class="sy0">,</span><span class="st_h">'imagefttext'</span><span class="sy0">,</span><span class="st_h">'imagegammacorrect'</span><span class="sy0">,</span> 2816 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagegd'</span><span class="sy0">,</span><span class="st_h">'imagegd2'</span><span class="sy0">,</span><span class="st_h">'imagegif'</span><span class="sy0">,</span><span class="st_h">'imagegrabscreen'</span><span class="sy0">,</span><span class="st_h">'imagegrabwindow'</span><span class="sy0">,</span></span></span> <span class="st_h">'imageinterlace'</span><span class="sy0">,</span><span class="st_h">'imageistruecolor'</span><span class="sy0">,</span><span class="st_h">'imagejpeg'</span><span class="sy0">,</span><span class="st_h">'imagelayereffect'</span><span class="sy0">,</span> 2817 <span class="xtra li2"><span class="de2"> <span class="st_h">'imageline'</span><span class="sy0">,</span><span class="st_h">'imageloadfont'</span><span class="sy0">,</span><span class="st_h">'imagepalettecopy'</span><span class="sy0">,</span><span class="st_h">'imagepng'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagepolygon'</span><span class="sy0">,</span><span class="st_h">'imagepsbbox'</span><span class="sy0">,</span><span class="st_h">'imagepsencodefont'</span><span class="sy0">,</span> 2818 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagepsextendfont'</span><span class="sy0">,</span><span class="st_h">'imagepsfreefont'</span><span class="sy0">,</span><span class="st_h">'imagepsloadfont'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagepsslantfont'</span><span class="sy0">,</span><span class="st_h">'imagepstext'</span><span class="sy0">,</span><span class="st_h">'imagerectangle'</span><span class="sy0">,</span><span class="st_h">'imagerotate'</span><span class="sy0">,</span> 2819 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagesavealpha'</span><span class="sy0">,</span><span class="st_h">'imagesetbrush'</span><span class="sy0">,</span><span class="st_h">'imagesetpixel'</span><span class="sy0">,</span><span class="st_h">'imagesetstyle'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagesetthickness'</span><span class="sy0">,</span><span class="st_h">'imagesettile'</span><span class="sy0">,</span><span class="st_h">'imagestring'</span><span class="sy0">,</span><span class="st_h">'imagestringup'</span><span class="sy0">,</span> 2820 <span class="xtra li2"><span class="de2"> <span class="st_h">'imagesx'</span><span class="sy0">,</span><span class="st_h">'imagesy'</span><span class="sy0">,</span><span class="st_h">'imagetruecolortopalette'</span><span class="sy0">,</span><span class="st_h">'imagettfbbox'</span><span class="sy0">,</span></span></span> <span class="st_h">'imagettftext'</span><span class="sy0">,</span><span class="st_h">'imagetypes'</span><span class="sy0">,</span><span class="st_h">'imagewbmp'</span><span class="sy0">,</span><span class="st_h">'imagexbm'</span><span class="sy0">,</span><span class="st_h">'imap_8bit'</span><span class="sy0">,</span> 2821 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_alerts'</span><span class="sy0">,</span><span class="st_h">'imap_append'</span><span class="sy0">,</span><span class="st_h">'imap_base64'</span><span class="sy0">,</span><span class="st_h">'imap_binary'</span><span class="sy0">,</span><span class="st_h">'imap_body'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_bodystruct'</span><span class="sy0">,</span><span class="st_h">'imap_check'</span><span class="sy0">,</span><span class="st_h">'imap_clearflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_close'</span><span class="sy0">,</span> 2822 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_create'</span><span class="sy0">,</span><span class="st_h">'imap_createmailbox'</span><span class="sy0">,</span><span class="st_h">'imap_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_deletemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_errors'</span><span class="sy0">,</span><span class="st_h">'imap_expunge'</span><span class="sy0">,</span> 2823 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_fetch_overview'</span><span class="sy0">,</span><span class="st_h">'imap_fetchbody'</span><span class="sy0">,</span><span class="st_h">'imap_fetchheader'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_fetchstructure'</span><span class="sy0">,</span><span class="st_h">'imap_fetchtext'</span><span class="sy0">,</span><span class="st_h">'imap_get_quota'</span><span class="sy0">,</span> 2824 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_get_quotaroot'</span><span class="sy0">,</span><span class="st_h">'imap_getacl'</span><span class="sy0">,</span><span class="st_h">'imap_getmailboxes'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_getsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_header'</span><span class="sy0">,</span><span class="st_h">'imap_headerinfo'</span><span class="sy0">,</span><span class="st_h">'imap_headers'</span><span class="sy0">,</span> 2825 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_last_error'</span><span class="sy0">,</span><span class="st_h">'imap_list'</span><span class="sy0">,</span><span class="st_h">'imap_listmailbox'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_listsubscribed'</span><span class="sy0">,</span><span class="st_h">'imap_lsub'</span><span class="sy0">,</span><span class="st_h">'imap_mail'</span><span class="sy0">,</span><span class="st_h">'imap_mail_compose'</span><span class="sy0">,</span> 2826 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_mail_copy'</span><span class="sy0">,</span><span class="st_h">'imap_mail_move'</span><span class="sy0">,</span><span class="st_h">'imap_mailboxmsginfo'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_mime_header_decode'</span><span class="sy0">,</span><span class="st_h">'imap_msgno'</span><span class="sy0">,</span><span class="st_h">'imap_num_msg'</span><span class="sy0">,</span> 2827 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_num_recent'</span><span class="sy0">,</span><span class="st_h">'imap_open'</span><span class="sy0">,</span><span class="st_h">'imap_ping'</span><span class="sy0">,</span><span class="st_h">'imap_qprint'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_rename'</span><span class="sy0">,</span><span class="st_h">'imap_renamemailbox'</span><span class="sy0">,</span><span class="st_h">'imap_reopen'</span><span class="sy0">,</span> 2828 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_rfc822_parse_adrlist'</span><span class="sy0">,</span><span class="st_h">'imap_rfc822_parse_headers'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_rfc822_write_address'</span><span class="sy0">,</span><span class="st_h">'imap_savebody'</span><span class="sy0">,</span><span class="st_h">'imap_scan'</span><span class="sy0">,</span> 2829 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_scanmailbox'</span><span class="sy0">,</span><span class="st_h">'imap_search'</span><span class="sy0">,</span><span class="st_h">'imap_set_quota'</span><span class="sy0">,</span><span class="st_h">'imap_setacl'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_setflag_full'</span><span class="sy0">,</span><span class="st_h">'imap_sort'</span><span class="sy0">,</span><span class="st_h">'imap_status'</span><span class="sy0">,</span><span class="st_h">'imap_subscribe'</span><span class="sy0">,</span> 2830 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_thread'</span><span class="sy0">,</span><span class="st_h">'imap_timeout'</span><span class="sy0">,</span><span class="st_h">'imap_uid'</span><span class="sy0">,</span><span class="st_h">'imap_undelete'</span><span class="sy0">,</span></span></span> <span class="st_h">'imap_unsubscribe'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_decode'</span><span class="sy0">,</span><span class="st_h">'imap_utf7_encode'</span><span class="sy0">,</span> 2831 <span class="xtra li2"><span class="de2"> <span class="st_h">'imap_utf8'</span><span class="sy0">,</span><span class="st_h">'implode'</span><span class="sy0">,</span><span class="st_h">'import_request_variables'</span><span class="sy0">,</span><span class="st_h">'in_array'</span><span class="sy0">,</span></span></span> <span class="st_h">'ini_alter'</span><span class="sy0">,</span><span class="st_h">'ini_get'</span><span class="sy0">,</span><span class="st_h">'ini_get_all'</span><span class="sy0">,</span><span class="st_h">'ini_restore'</span><span class="sy0">,</span><span class="st_h">'ini_set'</span><span class="sy0">,</span> 2832 <span class="xtra li2"><span class="de2"> <span class="st_h">'intval'</span><span class="sy0">,</span><span class="st_h">'ip2long'</span><span class="sy0">,</span><span class="st_h">'iptcembed'</span><span class="sy0">,</span><span class="st_h">'iptcparse'</span><span class="sy0">,</span><span class="st_h">'isset'</span><span class="sy0">,</span><span class="st_h">'is_a'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_array'</span><span class="sy0">,</span><span class="st_h">'is_bool'</span><span class="sy0">,</span><span class="st_h">'is_callable'</span><span class="sy0">,</span><span class="st_h">'is_dir'</span><span class="sy0">,</span><span class="st_h">'is_double'</span><span class="sy0">,</span> 2833 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_executable'</span><span class="sy0">,</span><span class="st_h">'is_file'</span><span class="sy0">,</span><span class="st_h">'is_finite'</span><span class="sy0">,</span><span class="st_h">'is_float'</span><span class="sy0">,</span><span class="st_h">'is_infinite'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_int'</span><span class="sy0">,</span><span class="st_h">'is_integer'</span><span class="sy0">,</span><span class="st_h">'is_link'</span><span class="sy0">,</span><span class="st_h">'is_long'</span><span class="sy0">,</span><span class="st_h">'is_nan'</span><span class="sy0">,</span><span class="st_h">'is_null'</span><span class="sy0">,</span> 2834 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_numeric'</span><span class="sy0">,</span><span class="st_h">'is_object'</span><span class="sy0">,</span><span class="st_h">'is_readable'</span><span class="sy0">,</span><span class="st_h">'is_real'</span><span class="sy0">,</span><span class="st_h">'is_resource'</span><span class="sy0">,</span></span></span> <span class="st_h">'is_scalar'</span><span class="sy0">,</span><span class="st_h">'is_soap_fault'</span><span class="sy0">,</span><span class="st_h">'is_string'</span><span class="sy0">,</span><span class="st_h">'is_subclass_of'</span><span class="sy0">,</span> 2835 <span class="xtra li2"><span class="de2"> <span class="st_h">'is_uploaded_file'</span><span class="sy0">,</span><span class="st_h">'is_writable'</span><span class="sy0">,</span><span class="st_h">'is_writeable'</span><span class="sy0">,</span><span class="st_h">'iterator_apply'</span><span class="sy0">,</span></span></span> <span class="st_h">'iterator_count'</span><span class="sy0">,</span><span class="st_h">'iterator_to_array'</span><span class="sy0">,</span><span class="st_h">'java_last_exception_clear'</span><span class="sy0">,</span> 2836 <span class="xtra li2"><span class="de2"> <span class="st_h">'java_last_exception_get'</span><span class="sy0">,</span><span class="st_h">'jddayofweek'</span><span class="sy0">,</span><span class="st_h">'jdmonthname'</span><span class="sy0">,</span><span class="st_h">'jdtofrench'</span><span class="sy0">,</span></span></span> <span class="st_h">'jdtogregorian'</span><span class="sy0">,</span><span class="st_h">'jdtojewish'</span><span class="sy0">,</span><span class="st_h">'jdtojulian'</span><span class="sy0">,</span><span class="st_h">'jdtounix'</span><span class="sy0">,</span><span class="st_h">'jewishtojd'</span><span class="sy0">,</span> 2837 <span class="xtra li2"><span class="de2"> <span class="st_h">'join'</span><span class="sy0">,</span><span class="st_h">'jpeg2wbmp'</span><span class="sy0">,</span><span class="st_h">'json_decode'</span><span class="sy0">,</span><span class="st_h">'json_encode'</span><span class="sy0">,</span><span class="st_h">'juliantojd'</span><span class="sy0">,</span><span class="st_h">'key'</span><span class="sy0">,</span></span></span> <span class="st_h">'key_exists'</span><span class="sy0">,</span><span class="st_h">'krsort'</span><span class="sy0">,</span><span class="st_h">'ksort'</span><span class="sy0">,</span><span class="st_h">'lcg_value'</span><span class="sy0">,</span><span class="st_h">'ldap_add'</span><span class="sy0">,</span><span class="st_h">'ldap_bind'</span><span class="sy0">,</span> 2838 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_close'</span><span class="sy0">,</span><span class="st_h">'ldap_compare'</span><span class="sy0">,</span><span class="st_h">'ldap_connect'</span><span class="sy0">,</span><span class="st_h">'ldap_count_entries'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_delete'</span><span class="sy0">,</span><span class="st_h">'ldap_dn2ufn'</span><span class="sy0">,</span><span class="st_h">'ldap_err2str'</span><span class="sy0">,</span><span class="st_h">'ldap_errno'</span><span class="sy0">,</span> 2839 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_error'</span><span class="sy0">,</span><span class="st_h">'ldap_explode_dn'</span><span class="sy0">,</span><span class="st_h">'ldap_first_attribute'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_first_entry'</span><span class="sy0">,</span><span class="st_h">'ldap_first_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_free_result'</span><span class="sy0">,</span> 2840 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_get_attributes'</span><span class="sy0">,</span><span class="st_h">'ldap_get_dn'</span><span class="sy0">,</span><span class="st_h">'ldap_get_entries'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_get_option'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values'</span><span class="sy0">,</span><span class="st_h">'ldap_get_values_len'</span><span class="sy0">,</span> 2841 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_list'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_add'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_del'</span><span class="sy0">,</span><span class="st_h">'ldap_mod_replace'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_modify'</span><span class="sy0">,</span><span class="st_h">'ldap_next_attribute'</span><span class="sy0">,</span><span class="st_h">'ldap_next_entry'</span><span class="sy0">,</span> 2842 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_next_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_parse_reference'</span><span class="sy0">,</span><span class="st_h">'ldap_parse_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'ldap_read'</span><span class="sy0">,</span><span class="st_h">'ldap_rename'</span><span class="sy0">,</span><span class="st_h">'ldap_search'</span><span class="sy0">,</span><span class="st_h">'ldap_set_option'</span><span class="sy0">,</span> 2843 <span class="xtra li2"><span class="de2"> <span class="st_h">'ldap_sort'</span><span class="sy0">,</span><span class="st_h">'ldap_start_tls'</span><span class="sy0">,</span><span class="st_h">'ldap_unbind'</span><span class="sy0">,</span><span class="st_h">'levenshtein'</span><span class="sy0">,</span></span></span> <span class="st_h">'libxml_clear_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_errors'</span><span class="sy0">,</span><span class="st_h">'libxml_get_last_error'</span><span class="sy0">,</span> 2844 <span class="xtra li2"><span class="de2"> <span class="st_h">'libxml_set_streams_context'</span><span class="sy0">,</span><span class="st_h">'libxml_use_internal_errors'</span><span class="sy0">,</span><span class="st_h">'link'</span><span class="sy0">,</span></span></span> <span class="st_h">'linkinfo'</span><span class="sy0">,</span><span class="st_h">'list'</span><span class="sy0">,</span><span class="st_h">'localeconv'</span><span class="sy0">,</span><span class="st_h">'localtime'</span><span class="sy0">,</span><span class="st_h">'log'</span><span class="sy0">,</span><span class="st_h">'log1p'</span><span class="sy0">,</span><span class="st_h">'log10'</span><span class="sy0">,</span> 2845 <span class="xtra li2"><span class="de2"> <span class="st_h">'long2ip'</span><span class="sy0">,</span><span class="st_h">'lstat'</span><span class="sy0">,</span><span class="st_h">'ltrim'</span><span class="sy0">,</span><span class="st_h">'lzf_compress'</span><span class="sy0">,</span><span class="st_h">'lzf_decompress'</span><span class="sy0">,</span></span></span> <span class="st_h">'lzf_optimized_for'</span><span class="sy0">,</span><span class="st_h">'magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'mail'</span><span class="sy0">,</span><span class="st_h">'max'</span><span class="sy0">,</span><span class="st_h">'mbereg'</span><span class="sy0">,</span> 2846 <span class="xtra li2"><span class="de2"> <span class="st_h">'mberegi'</span><span class="sy0">,</span><span class="st_h">'mberegi_replace'</span><span class="sy0">,</span><span class="st_h">'mbereg_match'</span><span class="sy0">,</span><span class="st_h">'mbereg_replace'</span><span class="sy0">,</span></span></span> <span class="st_h">'mbereg_search'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getpos'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_getregs'</span><span class="sy0">,</span> 2847 <span class="xtra li2"><span class="de2"> <span class="st_h">'mbereg_search_init'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_pos'</span><span class="sy0">,</span><span class="st_h">'mbereg_search_regs'</span><span class="sy0">,</span></span></span> <span class="st_h">'mbereg_search_setpos'</span><span class="sy0">,</span><span class="st_h">'mbregex_encoding'</span><span class="sy0">,</span><span class="st_h">'mbsplit'</span><span class="sy0">,</span><span class="st_h">'mbstrcut'</span><span class="sy0">,</span> 2848 <span class="xtra li2"><span class="de2"> <span class="st_h">'mbstrlen'</span><span class="sy0">,</span><span class="st_h">'mbstrpos'</span><span class="sy0">,</span><span class="st_h">'mbstrrpos'</span><span class="sy0">,</span><span class="st_h">'mbsubstr'</span><span class="sy0">,</span><span class="st_h">'mb_check_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_convert_case'</span><span class="sy0">,</span><span class="st_h">'mb_convert_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_convert_kana'</span><span class="sy0">,</span> 2849 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_convert_variables'</span><span class="sy0">,</span><span class="st_h">'mb_decode_mimeheader'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_decode_numericentity'</span><span class="sy0">,</span><span class="st_h">'mb_detect_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_detect_order'</span><span class="sy0">,</span> 2850 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_encode_mimeheader'</span><span class="sy0">,</span><span class="st_h">'mb_encode_numericentity'</span><span class="sy0">,</span><span class="st_h">'mb_ereg'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_eregi'</span><span class="sy0">,</span><span class="st_h">'mb_eregi_replace'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_match'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_replace'</span><span class="sy0">,</span> 2851 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_ereg_search'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_getpos'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_getregs'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_ereg_search_init'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_pos'</span><span class="sy0">,</span><span class="st_h">'mb_ereg_search_regs'</span><span class="sy0">,</span> 2852 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_ereg_search_setpos'</span><span class="sy0">,</span><span class="st_h">'mb_get_info'</span><span class="sy0">,</span><span class="st_h">'mb_http_input'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_http_output'</span><span class="sy0">,</span><span class="st_h">'mb_internal_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_language'</span><span class="sy0">,</span> 2853 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_list_encodings'</span><span class="sy0">,</span><span class="st_h">'mb_output_handler'</span><span class="sy0">,</span><span class="st_h">'mb_parse_str'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_preferred_mime_name'</span><span class="sy0">,</span><span class="st_h">'mb_regex_encoding'</span><span class="sy0">,</span><span class="st_h">'mb_regex_set_options'</span><span class="sy0">,</span> 2854 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_send_mail'</span><span class="sy0">,</span><span class="st_h">'mb_split'</span><span class="sy0">,</span><span class="st_h">'mb_strcut'</span><span class="sy0">,</span><span class="st_h">'mb_strimwidth'</span><span class="sy0">,</span><span class="st_h">'mb_stripos'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_stristr'</span><span class="sy0">,</span><span class="st_h">'mb_strlen'</span><span class="sy0">,</span><span class="st_h">'mb_strpos'</span><span class="sy0">,</span><span class="st_h">'mb_strrchr'</span><span class="sy0">,</span><span class="st_h">'mb_strrichr'</span><span class="sy0">,</span> 2855 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_strripos'</span><span class="sy0">,</span><span class="st_h">'mb_strrpos'</span><span class="sy0">,</span><span class="st_h">'mb_strstr'</span><span class="sy0">,</span><span class="st_h">'mb_strtolower'</span><span class="sy0">,</span></span></span> <span class="st_h">'mb_strtoupper'</span><span class="sy0">,</span><span class="st_h">'mb_strwidth'</span><span class="sy0">,</span><span class="st_h">'mb_substitute_character'</span><span class="sy0">,</span><span class="st_h">'mb_substr'</span><span class="sy0">,</span> 2856 <span class="xtra li2"><span class="de2"> <span class="st_h">'mb_substr_count'</span><span class="sy0">,</span><span class="st_h">'mcrypt_cbc'</span><span class="sy0">,</span><span class="st_h">'mcrypt_cfb'</span><span class="sy0">,</span><span class="st_h">'mcrypt_create_iv'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_decrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_ecb'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_algorithms_name'</span><span class="sy0">,</span> 2857 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_iv_size'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_get_key_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_get_modes_name'</span><span class="sy0">,</span> 2858 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_get_supported_key_sizes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_is_block_algorithm'</span><span class="sy0">,</span> 2859 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_enc_is_block_algorithm_mode'</span><span class="sy0">,</span><span class="st_h">'mcrypt_enc_is_block_mode'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_enc_self_test'</span><span class="sy0">,</span><span class="st_h">'mcrypt_encrypt'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic'</span><span class="sy0">,</span> 2860 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_generic_deinit'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic_end'</span><span class="sy0">,</span><span class="st_h">'mcrypt_generic_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_get_cipher_name'</span><span class="sy0">,</span> 2861 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_get_iv_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_get_key_size'</span><span class="sy0">,</span><span class="st_h">'mcrypt_list_algorithms'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_list_modes'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_close'</span><span class="sy0">,</span> 2862 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_get_algo_block_size'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_get_algo_key_size'</span><span class="sy0">,</span> 2863 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_get_supported_key_sizes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_is_block_algorithm'</span><span class="sy0">,</span> 2864 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_is_block_algorithm_mode'</span><span class="sy0">,</span></span></span> <span class="st_h">'mcrypt_module_is_block_mode'</span><span class="sy0">,</span><span class="st_h">'mcrypt_module_open'</span><span class="sy0">,</span> 2865 <span class="xtra li2"><span class="de2"> <span class="st_h">'mcrypt_module_self_test'</span><span class="sy0">,</span><span class="st_h">'mcrypt_ofb'</span><span class="sy0">,</span><span class="st_h">'md5'</span><span class="sy0">,</span><span class="st_h">'md5_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'mdecrypt_generic'</span><span class="sy0">,</span><span class="st_h">'memcache_add'</span><span class="sy0">,</span><span class="st_h">'memcache_add_server'</span><span class="sy0">,</span> 2866 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_close'</span><span class="sy0">,</span><span class="st_h">'memcache_connect'</span><span class="sy0">,</span><span class="st_h">'memcache_debug'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_decrement'</span><span class="sy0">,</span><span class="st_h">'memcache_delete'</span><span class="sy0">,</span><span class="st_h">'memcache_flush'</span><span class="sy0">,</span> 2867 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_get'</span><span class="sy0">,</span><span class="st_h">'memcache_get_extended_stats'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_get_server_status'</span><span class="sy0">,</span><span class="st_h">'memcache_get_stats'</span><span class="sy0">,</span> 2868 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_get_version'</span><span class="sy0">,</span><span class="st_h">'memcache_increment'</span><span class="sy0">,</span><span class="st_h">'memcache_pconnect'</span><span class="sy0">,</span></span></span> <span class="st_h">'memcache_replace'</span><span class="sy0">,</span><span class="st_h">'memcache_set'</span><span class="sy0">,</span><span class="st_h">'memcache_set_compress_threshold'</span><span class="sy0">,</span> 2869 <span class="xtra li2"><span class="de2"> <span class="st_h">'memcache_set_server_params'</span><span class="sy0">,</span><span class="st_h">'memory_get_peak_usage'</span><span class="sy0">,</span></span></span> <span class="st_h">'memory_get_usage'</span><span class="sy0">,</span><span class="st_h">'metaphone'</span><span class="sy0">,</span><span class="st_h">'mhash'</span><span class="sy0">,</span><span class="st_h">'mhash_count'</span><span class="sy0">,</span> 2870 <span class="xtra li2"><span class="de2"> <span class="st_h">'mhash_get_block_size'</span><span class="sy0">,</span><span class="st_h">'mhash_get_hash_name'</span><span class="sy0">,</span><span class="st_h">'mhash_keygen_s2k'</span><span class="sy0">,</span></span></span> <span class="st_h">'method_exists'</span><span class="sy0">,</span><span class="st_h">'microtime'</span><span class="sy0">,</span><span class="st_h">'mime_content_type'</span><span class="sy0">,</span><span class="st_h">'min'</span><span class="sy0">,</span> 2871 <span class="xtra li2"><span class="de2"> <span class="st_h">'ming_keypress'</span><span class="sy0">,</span><span class="st_h">'ming_setcubicthreshold'</span><span class="sy0">,</span><span class="st_h">'ming_setscale'</span><span class="sy0">,</span></span></span> <span class="st_h">'ming_useconstants'</span><span class="sy0">,</span><span class="st_h">'ming_useswfversion'</span><span class="sy0">,</span><span class="st_h">'mkdir'</span><span class="sy0">,</span><span class="st_h">'mktime'</span><span class="sy0">,</span> 2872 <span class="xtra li2"><span class="de2"> <span class="st_h">'money_format'</span><span class="sy0">,</span><span class="st_h">'move_uploaded_file'</span><span class="sy0">,</span><span class="st_h">'msql'</span><span class="sy0">,</span><span class="st_h">'msql_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_close'</span><span class="sy0">,</span><span class="st_h">'msql_connect'</span><span class="sy0">,</span><span class="st_h">'msql_create_db'</span><span class="sy0">,</span><span class="st_h">'msql_createdb'</span><span class="sy0">,</span> 2873 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_data_seek'</span><span class="sy0">,</span><span class="st_h">'msql_db_query'</span><span class="sy0">,</span><span class="st_h">'msql_dbname'</span><span class="sy0">,</span><span class="st_h">'msql_drop_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_dropdb'</span><span class="sy0">,</span><span class="st_h">'msql_error'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_field'</span><span class="sy0">,</span> 2874 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_fetch_object'</span><span class="sy0">,</span><span class="st_h">'msql_fetch_row'</span><span class="sy0">,</span><span class="st_h">'msql_field_flags'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_field_len'</span><span class="sy0">,</span><span class="st_h">'msql_field_name'</span><span class="sy0">,</span><span class="st_h">'msql_field_seek'</span><span class="sy0">,</span> 2875 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_field_table'</span><span class="sy0">,</span><span class="st_h">'msql_field_type'</span><span class="sy0">,</span><span class="st_h">'msql_fieldflags'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_fieldlen'</span><span class="sy0">,</span><span class="st_h">'msql_fieldname'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'msql_fieldtype'</span><span class="sy0">,</span> 2876 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_free_result'</span><span class="sy0">,</span><span class="st_h">'msql_freeresult'</span><span class="sy0">,</span><span class="st_h">'msql_list_dbs'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_list_fields'</span><span class="sy0">,</span><span class="st_h">'msql_list_tables'</span><span class="sy0">,</span><span class="st_h">'msql_listdbs'</span><span class="sy0">,</span> 2877 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_listfields'</span><span class="sy0">,</span><span class="st_h">'msql_listtables'</span><span class="sy0">,</span><span class="st_h">'msql_num_fields'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_num_rows'</span><span class="sy0">,</span><span class="st_h">'msql_numfields'</span><span class="sy0">,</span><span class="st_h">'msql_numrows'</span><span class="sy0">,</span><span class="st_h">'msql_pconnect'</span><span class="sy0">,</span> 2878 <span class="xtra li2"><span class="de2"> <span class="st_h">'msql_query'</span><span class="sy0">,</span><span class="st_h">'msql_regcase'</span><span class="sy0">,</span><span class="st_h">'msql_result'</span><span class="sy0">,</span><span class="st_h">'msql_select_db'</span><span class="sy0">,</span></span></span> <span class="st_h">'msql_selectdb'</span><span class="sy0">,</span><span class="st_h">'msql_tablename'</span><span class="sy0">,</span><span class="st_h">'mssql_bind'</span><span class="sy0">,</span><span class="st_h">'mssql_close'</span><span class="sy0">,</span> 2879 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_connect'</span><span class="sy0">,</span><span class="st_h">'mssql_data_seek'</span><span class="sy0">,</span><span class="st_h">'mssql_execute'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_batch'</span><span class="sy0">,</span> 2880 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_fetch_field'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_object'</span><span class="sy0">,</span><span class="st_h">'mssql_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_field_length'</span><span class="sy0">,</span><span class="st_h">'mssql_field_name'</span><span class="sy0">,</span><span class="st_h">'mssql_field_seek'</span><span class="sy0">,</span> 2881 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_field_type'</span><span class="sy0">,</span><span class="st_h">'mssql_free_result'</span><span class="sy0">,</span><span class="st_h">'mssql_free_statement'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_get_last_message'</span><span class="sy0">,</span><span class="st_h">'mssql_guid_string'</span><span class="sy0">,</span><span class="st_h">'mssql_init'</span><span class="sy0">,</span> 2882 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_min_error_severity'</span><span class="sy0">,</span><span class="st_h">'mssql_min_message_severity'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_next_result'</span><span class="sy0">,</span><span class="st_h">'mssql_num_fields'</span><span class="sy0">,</span><span class="st_h">'mssql_num_rows'</span><span class="sy0">,</span> 2883 <span class="xtra li2"><span class="de2"> <span class="st_h">'mssql_pconnect'</span><span class="sy0">,</span><span class="st_h">'mssql_query'</span><span class="sy0">,</span><span class="st_h">'mssql_result'</span><span class="sy0">,</span><span class="st_h">'mssql_rows_affected'</span><span class="sy0">,</span></span></span> <span class="st_h">'mssql_select_db'</span><span class="sy0">,</span><span class="st_h">'mt_getrandmax'</span><span class="sy0">,</span><span class="st_h">'mt_rand'</span><span class="sy0">,</span><span class="st_h">'mt_srand'</span><span class="sy0">,</span><span class="st_h">'mysql'</span><span class="sy0">,</span> 2884 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_affected_rows'</span><span class="sy0">,</span><span class="st_h">'mysql_client_encoding'</span><span class="sy0">,</span><span class="st_h">'mysql_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_connect'</span><span class="sy0">,</span><span class="st_h">'mysql_createdb'</span><span class="sy0">,</span><span class="st_h">'mysql_create_db'</span><span class="sy0">,</span> 2885 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysql_dbname'</span><span class="sy0">,</span><span class="st_h">'mysql_db_name'</span><span class="sy0">,</span><span class="st_h">'mysql_db_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_dropdb'</span><span class="sy0">,</span><span class="st_h">'mysql_drop_db'</span><span class="sy0">,</span><span class="st_h">'mysql_errno'</span><span class="sy0">,</span><span class="st_h">'mysql_error'</span><span class="sy0">,</span> 2886 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_assoc'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_fetch_field'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_lengths'</span><span class="sy0">,</span><span class="st_h">'mysql_fetch_object'</span><span class="sy0">,</span> 2887 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_fetch_row'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldflags'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldlen'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_fieldname'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtable'</span><span class="sy0">,</span><span class="st_h">'mysql_fieldtype'</span><span class="sy0">,</span> 2888 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_field_flags'</span><span class="sy0">,</span><span class="st_h">'mysql_field_len'</span><span class="sy0">,</span><span class="st_h">'mysql_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysql_field_table'</span><span class="sy0">,</span><span class="st_h">'mysql_field_type'</span><span class="sy0">,</span> 2889 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_freeresult'</span><span class="sy0">,</span><span class="st_h">'mysql_free_result'</span><span class="sy0">,</span><span class="st_h">'mysql_get_client_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_get_host_info'</span><span class="sy0">,</span><span class="st_h">'mysql_get_proto_info'</span><span class="sy0">,</span> 2890 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_get_server_info'</span><span class="sy0">,</span><span class="st_h">'mysql_info'</span><span class="sy0">,</span><span class="st_h">'mysql_insert_id'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_listdbs'</span><span class="sy0">,</span><span class="st_h">'mysql_listfields'</span><span class="sy0">,</span><span class="st_h">'mysql_listtables'</span><span class="sy0">,</span> 2891 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_list_dbs'</span><span class="sy0">,</span><span class="st_h">'mysql_list_fields'</span><span class="sy0">,</span><span class="st_h">'mysql_list_processes'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_list_tables'</span><span class="sy0">,</span><span class="st_h">'mysql_numfields'</span><span class="sy0">,</span><span class="st_h">'mysql_numrows'</span><span class="sy0">,</span> 2892 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_num_fields'</span><span class="sy0">,</span><span class="st_h">'mysql_num_rows'</span><span class="sy0">,</span><span class="st_h">'mysql_pconnect'</span><span class="sy0">,</span><span class="st_h">'mysql_ping'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_query'</span><span class="sy0">,</span><span class="st_h">'mysql_real_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysql_result'</span><span class="sy0">,</span> 2893 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_selectdb'</span><span class="sy0">,</span><span class="st_h">'mysql_select_db'</span><span class="sy0">,</span><span class="st_h">'mysql_set_charset'</span><span class="sy0">,</span><span class="st_h">'mysql_stat'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysql_tablename'</span><span class="sy0">,</span><span class="st_h">'mysql_table_name'</span><span class="sy0">,</span><span class="st_h">'mysql_thread_id'</span><span class="sy0">,</span> 2894 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysql_unbuffered_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_affected_rows'</span><span class="sy0">,</span><span class="st_h">'mysqli_autocommit'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_bind_param'</span><span class="sy0">,</span><span class="st_h">'mysqli_bind_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_change_user'</span><span class="sy0">,</span> 2895 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_character_set_name'</span><span class="sy0">,</span><span class="st_h">'mysqli_client_encoding'</span><span class="sy0">,</span><span class="st_h">'mysqli_close'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_commit'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_connect_errno'</span><span class="sy0">,</span> 2896 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_connect_error'</span><span class="sy0">,</span><span class="st_h">'mysqli_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_debug'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_disable_reads_from_master'</span><span class="sy0">,</span><span class="st_h">'mysqli_disable_rpl_parse'</span><span class="sy0">,</span> 2897 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_dump_debug_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_embedded_server_end'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_embedded_server_start'</span><span class="sy0">,</span><span class="st_h">'mysqli_enable_reads_from_master'</span><span class="sy0">,</span> 2898 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_enable_rpl_parse'</span><span class="sy0">,</span><span class="st_h">'mysqli_errno'</span><span class="sy0">,</span><span class="st_h">'mysqli_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_escape_string'</span><span class="sy0">,</span><span class="st_h">'mysqli_execute'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch'</span><span class="sy0">,</span> 2899 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_fetch_array'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_field'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_fetch_field_direct'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_fields'</span><span class="sy0">,</span> 2900 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_fetch_lengths'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_object'</span><span class="sy0">,</span><span class="st_h">'mysqli_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_field_tell'</span><span class="sy0">,</span> 2901 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_free_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_charset'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_client_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_get_client_version'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_host_info'</span><span class="sy0">,</span> 2902 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_metadata'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_proto_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_get_server_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_get_server_version'</span><span class="sy0">,</span> 2903 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_get_warnings'</span><span class="sy0">,</span><span class="st_h">'mysqli_info'</span><span class="sy0">,</span><span class="st_h">'mysqli_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_kill'</span><span class="sy0">,</span><span class="st_h">'mysqli_master_query'</span><span class="sy0">,</span> 2904 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_more_results'</span><span class="sy0">,</span><span class="st_h">'mysqli_multi_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_next_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_num_fields'</span><span class="sy0">,</span><span class="st_h">'mysqli_num_rows'</span><span class="sy0">,</span><span class="st_h">'mysqli_options'</span><span class="sy0">,</span> 2905 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_param_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_ping'</span><span class="sy0">,</span><span class="st_h">'mysqli_prepare'</span><span class="sy0">,</span><span class="st_h">'mysqli_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_real_connect'</span><span class="sy0">,</span><span class="st_h">'mysqli_real_escape_string'</span><span class="sy0">,</span> 2906 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_real_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_report'</span><span class="sy0">,</span><span class="st_h">'mysqli_rollback'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_rpl_parse_enabled'</span><span class="sy0">,</span><span class="st_h">'mysqli_rpl_probe'</span><span class="sy0">,</span> 2907 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_rpl_query_type'</span><span class="sy0">,</span><span class="st_h">'mysqli_select_db'</span><span class="sy0">,</span><span class="st_h">'mysqli_send_long_data'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_send_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_charset'</span><span class="sy0">,</span> 2908 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_set_local_infile_default'</span><span class="sy0">,</span><span class="st_h">'mysqli_set_local_infile_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_set_opt'</span><span class="sy0">,</span><span class="st_h">'mysqli_slave_query'</span><span class="sy0">,</span><span class="st_h">'mysqli_sqlstate'</span><span class="sy0">,</span> 2909 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_ssl_set'</span><span class="sy0">,</span><span class="st_h">'mysqli_stat'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_affected_rows'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_attr_get'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_attr_set'</span><span class="sy0">,</span> 2910 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_bind_param'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_bind_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_close'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_data_seek'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_errno'</span><span class="sy0">,</span> 2911 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_error'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_execute'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_fetch'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_field_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_free_result'</span><span class="sy0">,</span> 2912 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_get_warnings'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_insert_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_num_rows'</span><span class="sy0">,</span> 2913 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_param_count'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_prepare'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_reset'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_stmt_result_metadata'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_send_long_data'</span><span class="sy0">,</span> 2914 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_stmt_sqlstate'</span><span class="sy0">,</span><span class="st_h">'mysqli_stmt_store_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'mysqli_store_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_id'</span><span class="sy0">,</span><span class="st_h">'mysqli_thread_safe'</span><span class="sy0">,</span> 2915 <span class="xtra li2"><span class="de2"> <span class="st_h">'mysqli_use_result'</span><span class="sy0">,</span><span class="st_h">'mysqli_warning_count'</span><span class="sy0">,</span><span class="st_h">'natcasesort'</span><span class="sy0">,</span><span class="st_h">'natsort'</span><span class="sy0">,</span></span></span> <span class="st_h">'new_xmldoc'</span><span class="sy0">,</span><span class="st_h">'next'</span><span class="sy0">,</span><span class="st_h">'ngettext'</span><span class="sy0">,</span><span class="st_h">'nl2br'</span><span class="sy0">,</span><span class="st_h">'nl_langinfo'</span><span class="sy0">,</span> 2916 <span class="xtra li2"><span class="de2"> <span class="st_h">'ntuser_getdomaincontroller'</span><span class="sy0">,</span><span class="st_h">'ntuser_getusergroups'</span><span class="sy0">,</span></span></span> <span class="st_h">'ntuser_getuserinfo'</span><span class="sy0">,</span><span class="st_h">'ntuser_getuserlist'</span><span class="sy0">,</span><span class="st_h">'number_format'</span><span class="sy0">,</span> 2917 <span class="xtra li2"><span class="de2"> <span class="st_h">'ob_clean'</span><span class="sy0">,</span><span class="st_h">'ob_deflatehandler'</span><span class="sy0">,</span><span class="st_h">'ob_end_clean'</span><span class="sy0">,</span><span class="st_h">'ob_end_flush'</span><span class="sy0">,</span></span></span> <span class="st_h">'ob_etaghandler'</span><span class="sy0">,</span><span class="st_h">'ob_flush'</span><span class="sy0">,</span><span class="st_h">'ob_get_clean'</span><span class="sy0">,</span><span class="st_h">'ob_get_contents'</span><span class="sy0">,</span> 2918 <span class="xtra li2"><span class="de2"> <span class="st_h">'ob_get_flush'</span><span class="sy0">,</span><span class="st_h">'ob_get_length'</span><span class="sy0">,</span><span class="st_h">'ob_get_level'</span><span class="sy0">,</span><span class="st_h">'ob_get_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'ob_gzhandler'</span><span class="sy0">,</span><span class="st_h">'ob_iconv_handler'</span><span class="sy0">,</span><span class="st_h">'ob_implicit_flush'</span><span class="sy0">,</span> 2919 <span class="xtra li2"><span class="de2"> <span class="st_h">'ob_inflatehandler'</span><span class="sy0">,</span><span class="st_h">'ob_list_handlers'</span><span class="sy0">,</span><span class="st_h">'ob_start'</span><span class="sy0">,</span><span class="st_h">'ob_tidyhandler'</span><span class="sy0">,</span></span></span> <span class="st_h">'octdec'</span><span class="sy0">,</span><span class="st_h">'odbc_autocommit'</span><span class="sy0">,</span><span class="st_h">'odbc_binmode'</span><span class="sy0">,</span><span class="st_h">'odbc_close'</span><span class="sy0">,</span> 2920 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_close_all'</span><span class="sy0">,</span><span class="st_h">'odbc_columnprivileges'</span><span class="sy0">,</span><span class="st_h">'odbc_columns'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_commit'</span><span class="sy0">,</span><span class="st_h">'odbc_connect'</span><span class="sy0">,</span><span class="st_h">'odbc_cursor'</span><span class="sy0">,</span><span class="st_h">'odbc_data_source'</span><span class="sy0">,</span> 2921 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_do'</span><span class="sy0">,</span><span class="st_h">'odbc_error'</span><span class="sy0">,</span><span class="st_h">'odbc_errormsg'</span><span class="sy0">,</span><span class="st_h">'odbc_exec'</span><span class="sy0">,</span><span class="st_h">'odbc_execute'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_fetch_array'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_into'</span><span class="sy0">,</span><span class="st_h">'odbc_fetch_object'</span><span class="sy0">,</span> 2922 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_fetch_row'</span><span class="sy0">,</span><span class="st_h">'odbc_field_len'</span><span class="sy0">,</span><span class="st_h">'odbc_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_field_num'</span><span class="sy0">,</span><span class="st_h">'odbc_field_precision'</span><span class="sy0">,</span><span class="st_h">'odbc_field_scale'</span><span class="sy0">,</span> 2923 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_field_type'</span><span class="sy0">,</span><span class="st_h">'odbc_foreignkeys'</span><span class="sy0">,</span><span class="st_h">'odbc_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_gettypeinfo'</span><span class="sy0">,</span><span class="st_h">'odbc_longreadlen'</span><span class="sy0">,</span><span class="st_h">'odbc_next_result'</span><span class="sy0">,</span> 2924 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_num_fields'</span><span class="sy0">,</span><span class="st_h">'odbc_num_rows'</span><span class="sy0">,</span><span class="st_h">'odbc_pconnect'</span><span class="sy0">,</span><span class="st_h">'odbc_prepare'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_primarykeys'</span><span class="sy0">,</span><span class="st_h">'odbc_procedurecolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_procedures'</span><span class="sy0">,</span> 2925 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_result'</span><span class="sy0">,</span><span class="st_h">'odbc_result_all'</span><span class="sy0">,</span><span class="st_h">'odbc_rollback'</span><span class="sy0">,</span><span class="st_h">'odbc_setoption'</span><span class="sy0">,</span></span></span> <span class="st_h">'odbc_specialcolumns'</span><span class="sy0">,</span><span class="st_h">'odbc_statistics'</span><span class="sy0">,</span><span class="st_h">'odbc_tableprivileges'</span><span class="sy0">,</span> 2926 <span class="xtra li2"><span class="de2"> <span class="st_h">'odbc_tables'</span><span class="sy0">,</span><span class="st_h">'opendir'</span><span class="sy0">,</span><span class="st_h">'openlog'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_csr_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_get_public_key'</span><span class="sy0">,</span> 2927 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_csr_get_subject'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_new'</span><span class="sy0">,</span><span class="st_h">'openssl_csr_sign'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_error_string'</span><span class="sy0">,</span><span class="st_h">'openssl_free_key'</span><span class="sy0">,</span><span class="st_h">'openssl_get_privatekey'</span><span class="sy0">,</span> 2928 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_get_publickey'</span><span class="sy0">,</span><span class="st_h">'openssl_open'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs12_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkcs12_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs12_read'</span><span class="sy0">,</span> 2929 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkcs7_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_encrypt'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkcs7_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_pkcs7_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_export'</span><span class="sy0">,</span> 2930 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkey_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_free'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_pkey_get_details'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_get_private'</span><span class="sy0">,</span> 2931 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_pkey_get_public'</span><span class="sy0">,</span><span class="st_h">'openssl_pkey_new'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_private_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_private_encrypt'</span><span class="sy0">,</span> 2932 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_public_decrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_public_encrypt'</span><span class="sy0">,</span><span class="st_h">'openssl_seal'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_sign'</span><span class="sy0">,</span><span class="st_h">'openssl_verify'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_checkpurpose'</span><span class="sy0">,</span> 2933 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_x509_check_private_key'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_export'</span><span class="sy0">,</span></span></span> <span class="st_h">'openssl_x509_export_to_file'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_free'</span><span class="sy0">,</span> 2934 <span class="xtra li2"><span class="de2"> <span class="st_h">'openssl_x509_parse'</span><span class="sy0">,</span><span class="st_h">'openssl_x509_read'</span><span class="sy0">,</span><span class="st_h">'ord'</span><span class="sy0">,</span></span></span> <span class="st_h">'output_add_rewrite_var'</span><span class="sy0">,</span><span class="st_h">'output_reset_rewrite_vars'</span><span class="sy0">,</span><span class="st_h">'overload'</span><span class="sy0">,</span> 2935 <span class="xtra li2"><span class="de2"> <span class="st_h">'outputdebugstring'</span><span class="sy0">,</span><span class="st_h">'pack'</span><span class="sy0">,</span><span class="st_h">'parse_ini_file'</span><span class="sy0">,</span><span class="st_h">'parse_str'</span><span class="sy0">,</span><span class="st_h">'parse_url'</span><span class="sy0">,</span></span></span> <span class="st_h">'parsekit_compile_file'</span><span class="sy0">,</span><span class="st_h">'parsekit_compile_string'</span><span class="sy0">,</span> 2936 <span class="xtra li2"><span class="de2"> <span class="st_h">'parsekit_func_arginfo'</span><span class="sy0">,</span><span class="st_h">'parsekit_opcode_flags'</span><span class="sy0">,</span></span></span> <span class="st_h">'parsekit_opcode_name'</span><span class="sy0">,</span><span class="st_h">'passthru'</span><span class="sy0">,</span><span class="st_h">'pathinfo'</span><span class="sy0">,</span><span class="st_h">'pclose'</span><span class="sy0">,</span> 2937 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_add_bookmark'</span><span class="sy0">,</span><span class="st_h">'pdf_add_launchlink'</span><span class="sy0">,</span><span class="st_h">'pdf_add_locallink'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_add_nameddest'</span><span class="sy0">,</span><span class="st_h">'pdf_add_note'</span><span class="sy0">,</span><span class="st_h">'pdf_add_pdflink'</span><span class="sy0">,</span> 2938 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_add_thumbnail'</span><span class="sy0">,</span><span class="st_h">'pdf_add_weblink'</span><span class="sy0">,</span><span class="st_h">'pdf_arc'</span><span class="sy0">,</span><span class="st_h">'pdf_arcn'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_attach_file'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_font'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_glyph'</span><span class="sy0">,</span> 2939 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_begin_page'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_pattern'</span><span class="sy0">,</span><span class="st_h">'pdf_begin_template'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_circle'</span><span class="sy0">,</span><span class="st_h">'pdf_clip'</span><span class="sy0">,</span><span class="st_h">'pdf_close'</span><span class="sy0">,</span><span class="st_h">'pdf_close_image'</span><span class="sy0">,</span> 2940 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_close_pdi'</span><span class="sy0">,</span><span class="st_h">'pdf_close_pdi_page'</span><span class="sy0">,</span><span class="st_h">'pdf_closepath'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_closepath_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_closepath_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_concat'</span><span class="sy0">,</span> 2941 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_continue_text'</span><span class="sy0">,</span><span class="st_h">'pdf_create_gstate'</span><span class="sy0">,</span><span class="st_h">'pdf_create_pvf'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_curveto'</span><span class="sy0">,</span><span class="st_h">'pdf_delete'</span><span class="sy0">,</span><span class="st_h">'pdf_delete_pvf'</span><span class="sy0">,</span><span class="st_h">'pdf_encoding_set_char'</span><span class="sy0">,</span> 2942 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_end_font'</span><span class="sy0">,</span><span class="st_h">'pdf_end_glyph'</span><span class="sy0">,</span><span class="st_h">'pdf_end_page'</span><span class="sy0">,</span><span class="st_h">'pdf_end_pattern'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_end_template'</span><span class="sy0">,</span><span class="st_h">'pdf_endpath'</span><span class="sy0">,</span><span class="st_h">'pdf_fill'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_imageblock'</span><span class="sy0">,</span> 2943 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_fill_pdfblock'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_stroke'</span><span class="sy0">,</span><span class="st_h">'pdf_fill_textblock'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_findfont'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_image'</span><span class="sy0">,</span><span class="st_h">'pdf_fit_pdi_page'</span><span class="sy0">,</span> 2944 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_fit_textline'</span><span class="sy0">,</span><span class="st_h">'pdf_get_apiname'</span><span class="sy0">,</span><span class="st_h">'pdf_get_buffer'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_get_errmsg'</span><span class="sy0">,</span><span class="st_h">'pdf_get_errnum'</span><span class="sy0">,</span><span class="st_h">'pdf_get_parameter'</span><span class="sy0">,</span> 2945 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_get_pdi_parameter'</span><span class="sy0">,</span><span class="st_h">'pdf_get_pdi_value'</span><span class="sy0">,</span><span class="st_h">'pdf_get_value'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_initgraphics'</span><span class="sy0">,</span><span class="st_h">'pdf_lineto'</span><span class="sy0">,</span><span class="st_h">'pdf_load_font'</span><span class="sy0">,</span> 2946 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_load_iccprofile'</span><span class="sy0">,</span><span class="st_h">'pdf_load_image'</span><span class="sy0">,</span><span class="st_h">'pdf_makespotcolor'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_moveto'</span><span class="sy0">,</span><span class="st_h">'pdf_new'</span><span class="sy0">,</span><span class="st_h">'pdf_open_ccitt'</span><span class="sy0">,</span><span class="st_h">'pdf_open_file'</span><span class="sy0">,</span> 2947 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_open_image'</span><span class="sy0">,</span><span class="st_h">'pdf_open_image_file'</span><span class="sy0">,</span><span class="st_h">'pdf_open_pdi'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_open_pdi_page'</span><span class="sy0">,</span><span class="st_h">'pdf_place_image'</span><span class="sy0">,</span><span class="st_h">'pdf_place_pdi_page'</span><span class="sy0">,</span> 2948 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_process_pdi'</span><span class="sy0">,</span><span class="st_h">'pdf_rect'</span><span class="sy0">,</span><span class="st_h">'pdf_restore'</span><span class="sy0">,</span><span class="st_h">'pdf_rotate'</span><span class="sy0">,</span><span class="st_h">'pdf_save'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_scale'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_color'</span><span class="sy0">,</span><span class="st_h">'pdf_set_border_dash'</span><span class="sy0">,</span> 2949 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_set_border_style'</span><span class="sy0">,</span><span class="st_h">'pdf_set_gstate'</span><span class="sy0">,</span><span class="st_h">'pdf_set_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_set_parameter'</span><span class="sy0">,</span><span class="st_h">'pdf_set_text_pos'</span><span class="sy0">,</span><span class="st_h">'pdf_set_value'</span><span class="sy0">,</span> 2950 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_setcolor'</span><span class="sy0">,</span><span class="st_h">'pdf_setdash'</span><span class="sy0">,</span><span class="st_h">'pdf_setdashpattern'</span><span class="sy0">,</span><span class="st_h">'pdf_setflat'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_setfont'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinecap'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinejoin'</span><span class="sy0">,</span><span class="st_h">'pdf_setlinewidth'</span><span class="sy0">,</span> 2951 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_setmatrix'</span><span class="sy0">,</span><span class="st_h">'pdf_setmiterlimit'</span><span class="sy0">,</span><span class="st_h">'pdf_setpolydash'</span><span class="sy0">,</span><span class="st_h">'pdf_shading'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_shading_pattern'</span><span class="sy0">,</span><span class="st_h">'pdf_shfill'</span><span class="sy0">,</span><span class="st_h">'pdf_show'</span><span class="sy0">,</span><span class="st_h">'pdf_show_boxed'</span><span class="sy0">,</span> 2952 <span class="xtra li2"><span class="de2"> <span class="st_h">'pdf_show_xy'</span><span class="sy0">,</span><span class="st_h">'pdf_skew'</span><span class="sy0">,</span><span class="st_h">'pdf_stringwidth'</span><span class="sy0">,</span><span class="st_h">'pdf_stroke'</span><span class="sy0">,</span></span></span> <span class="st_h">'pdf_translate'</span><span class="sy0">,</span><span class="st_h">'pdo_drivers'</span><span class="sy0">,</span><span class="st_h">'pfsockopen'</span><span class="sy0">,</span><span class="st_h">'pg_affected_rows'</span><span class="sy0">,</span> 2953 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_cancel_query'</span><span class="sy0">,</span><span class="st_h">'pg_clientencoding'</span><span class="sy0">,</span><span class="st_h">'pg_client_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_close'</span><span class="sy0">,</span><span class="st_h">'pg_cmdtuples'</span><span class="sy0">,</span><span class="st_h">'pg_connect'</span><span class="sy0">,</span><span class="st_h">'pg_connection_busy'</span><span class="sy0">,</span> 2954 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_connection_reset'</span><span class="sy0">,</span><span class="st_h">'pg_connection_status'</span><span class="sy0">,</span><span class="st_h">'pg_convert'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_copy_from'</span><span class="sy0">,</span><span class="st_h">'pg_copy_to'</span><span class="sy0">,</span><span class="st_h">'pg_dbname'</span><span class="sy0">,</span><span class="st_h">'pg_delete'</span><span class="sy0">,</span><span class="st_h">'pg_end_copy'</span><span class="sy0">,</span> 2955 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_errormessage'</span><span class="sy0">,</span><span class="st_h">'pg_escape_bytea'</span><span class="sy0">,</span><span class="st_h">'pg_escape_string'</span><span class="sy0">,</span><span class="st_h">'pg_exec'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_execute'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_all_columns'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_array'</span><span class="sy0">,</span> 2956 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_fetch_assoc'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_object'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_result'</span><span class="sy0">,</span><span class="st_h">'pg_fetch_row'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_fieldisnull'</span><span class="sy0">,</span><span class="st_h">'pg_fieldname'</span><span class="sy0">,</span><span class="st_h">'pg_fieldnum'</span><span class="sy0">,</span><span class="st_h">'pg_fieldprtlen'</span><span class="sy0">,</span> 2957 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_fieldsize'</span><span class="sy0">,</span><span class="st_h">'pg_fieldtype'</span><span class="sy0">,</span><span class="st_h">'pg_field_is_null'</span><span class="sy0">,</span><span class="st_h">'pg_field_name'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_field_num'</span><span class="sy0">,</span><span class="st_h">'pg_field_prtlen'</span><span class="sy0">,</span><span class="st_h">'pg_field_size'</span><span class="sy0">,</span><span class="st_h">'pg_field_table'</span><span class="sy0">,</span> 2958 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_field_type'</span><span class="sy0">,</span><span class="st_h">'pg_field_type_oid'</span><span class="sy0">,</span><span class="st_h">'pg_free_result'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_freeresult'</span><span class="sy0">,</span><span class="st_h">'pg_get_notify'</span><span class="sy0">,</span><span class="st_h">'pg_get_pid'</span><span class="sy0">,</span><span class="st_h">'pg_get_result'</span><span class="sy0">,</span> 2959 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_getlastoid'</span><span class="sy0">,</span><span class="st_h">'pg_host'</span><span class="sy0">,</span><span class="st_h">'pg_insert'</span><span class="sy0">,</span><span class="st_h">'pg_last_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_last_notice'</span><span class="sy0">,</span><span class="st_h">'pg_last_oid'</span><span class="sy0">,</span><span class="st_h">'pg_loclose'</span><span class="sy0">,</span><span class="st_h">'pg_locreate'</span><span class="sy0">,</span> 2960 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_loexport'</span><span class="sy0">,</span><span class="st_h">'pg_loimport'</span><span class="sy0">,</span><span class="st_h">'pg_loopen'</span><span class="sy0">,</span><span class="st_h">'pg_loread'</span><span class="sy0">,</span><span class="st_h">'pg_loreadall'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_lounlink'</span><span class="sy0">,</span><span class="st_h">'pg_lowrite'</span><span class="sy0">,</span><span class="st_h">'pg_lo_close'</span><span class="sy0">,</span><span class="st_h">'pg_lo_create'</span><span class="sy0">,</span> 2961 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lo_export'</span><span class="sy0">,</span><span class="st_h">'pg_lo_import'</span><span class="sy0">,</span><span class="st_h">'pg_lo_open'</span><span class="sy0">,</span><span class="st_h">'pg_lo_read'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_lo_read_all'</span><span class="sy0">,</span><span class="st_h">'pg_lo_seek'</span><span class="sy0">,</span><span class="st_h">'pg_lo_tell'</span><span class="sy0">,</span><span class="st_h">'pg_lo_unlink'</span><span class="sy0">,</span> 2962 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_lo_write'</span><span class="sy0">,</span><span class="st_h">'pg_meta_data'</span><span class="sy0">,</span><span class="st_h">'pg_numfields'</span><span class="sy0">,</span><span class="st_h">'pg_numrows'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_num_fields'</span><span class="sy0">,</span><span class="st_h">'pg_num_rows'</span><span class="sy0">,</span><span class="st_h">'pg_options'</span><span class="sy0">,</span><span class="st_h">'pg_parameter_status'</span><span class="sy0">,</span> 2963 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_pconnect'</span><span class="sy0">,</span><span class="st_h">'pg_ping'</span><span class="sy0">,</span><span class="st_h">'pg_port'</span><span class="sy0">,</span><span class="st_h">'pg_prepare'</span><span class="sy0">,</span><span class="st_h">'pg_put_line'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_query'</span><span class="sy0">,</span><span class="st_h">'pg_query_params'</span><span class="sy0">,</span><span class="st_h">'pg_result'</span><span class="sy0">,</span><span class="st_h">'pg_result_error'</span><span class="sy0">,</span> 2964 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_result_error_field'</span><span class="sy0">,</span><span class="st_h">'pg_result_seek'</span><span class="sy0">,</span><span class="st_h">'pg_result_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_select'</span><span class="sy0">,</span><span class="st_h">'pg_send_execute'</span><span class="sy0">,</span><span class="st_h">'pg_send_prepare'</span><span class="sy0">,</span><span class="st_h">'pg_send_query'</span><span class="sy0">,</span> 2965 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_send_query_params'</span><span class="sy0">,</span><span class="st_h">'pg_set_client_encoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_set_error_verbosity'</span><span class="sy0">,</span><span class="st_h">'pg_setclientencoding'</span><span class="sy0">,</span><span class="st_h">'pg_trace'</span><span class="sy0">,</span> 2966 <span class="xtra li2"><span class="de2"> <span class="st_h">'pg_transaction_status'</span><span class="sy0">,</span><span class="st_h">'pg_tty'</span><span class="sy0">,</span><span class="st_h">'pg_unescape_bytea'</span><span class="sy0">,</span><span class="st_h">'pg_untrace'</span><span class="sy0">,</span></span></span> <span class="st_h">'pg_update'</span><span class="sy0">,</span><span class="st_h">'pg_version'</span><span class="sy0">,</span><span class="st_h">'php_egg_logo_guid'</span><span class="sy0">,</span><span class="st_h">'php_ini_loaded_file'</span><span class="sy0">,</span> 2967 <span class="xtra li2"><span class="de2"> <span class="st_h">'php_ini_scanned_files'</span><span class="sy0">,</span><span class="st_h">'php_logo_guid'</span><span class="sy0">,</span><span class="st_h">'php_real_logo_guid'</span><span class="sy0">,</span></span></span> <span class="st_h">'php_sapi_name'</span><span class="sy0">,</span><span class="st_h">'php_strip_whitespace'</span><span class="sy0">,</span><span class="st_h">'php_uname'</span><span class="sy0">,</span><span class="st_h">'phpcredits'</span><span class="sy0">,</span> 2968 <span class="xtra li2"><span class="de2"> <span class="st_h">'phpdoc_xml_from_string'</span><span class="sy0">,</span><span class="st_h">'phpinfo'</span><span class="sy0">,</span><span class="st_h">'phpversion'</span><span class="sy0">,</span><span class="st_h">'pi'</span><span class="sy0">,</span><span class="st_h">'png2wbmp'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_close'</span><span class="sy0">,</span><span class="st_h">'pop3_delete_message'</span><span class="sy0">,</span><span class="st_h">'pop3_get_account_size'</span><span class="sy0">,</span> 2969 <span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_get_message'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_count'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_get_message_header'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_ids'</span><span class="sy0">,</span> 2970 <span class="xtra li2"><span class="de2"> <span class="st_h">'pop3_get_message_size'</span><span class="sy0">,</span><span class="st_h">'pop3_get_message_sizes'</span><span class="sy0">,</span><span class="st_h">'pop3_open'</span><span class="sy0">,</span></span></span> <span class="st_h">'pop3_undelete'</span><span class="sy0">,</span><span class="st_h">'popen'</span><span class="sy0">,</span><span class="st_h">'pos'</span><span class="sy0">,</span><span class="st_h">'posix_ctermid'</span><span class="sy0">,</span><span class="st_h">'posix_errno'</span><span class="sy0">,</span> 2971 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getcwd'</span><span class="sy0">,</span><span class="st_h">'posix_getegid'</span><span class="sy0">,</span><span class="st_h">'posix_geteuid'</span><span class="sy0">,</span><span class="st_h">'posix_getgid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_getgrgid'</span><span class="sy0">,</span><span class="st_h">'posix_getgrnam'</span><span class="sy0">,</span><span class="st_h">'posix_getgroups'</span><span class="sy0">,</span> 2972 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getlogin'</span><span class="sy0">,</span><span class="st_h">'posix_getpgid'</span><span class="sy0">,</span><span class="st_h">'posix_getpgrp'</span><span class="sy0">,</span><span class="st_h">'posix_getpid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_getppid'</span><span class="sy0">,</span><span class="st_h">'posix_getpwnam'</span><span class="sy0">,</span><span class="st_h">'posix_getpwuid'</span><span class="sy0">,</span><span class="st_h">'posix_getrlimit'</span><span class="sy0">,</span> 2973 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_getsid'</span><span class="sy0">,</span><span class="st_h">'posix_getuid'</span><span class="sy0">,</span><span class="st_h">'posix_get_last_error'</span><span class="sy0">,</span><span class="st_h">'posix_isatty'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_kill'</span><span class="sy0">,</span><span class="st_h">'posix_mkfifo'</span><span class="sy0">,</span><span class="st_h">'posix_setegid'</span><span class="sy0">,</span><span class="st_h">'posix_seteuid'</span><span class="sy0">,</span> 2974 <span class="xtra li2"><span class="de2"> <span class="st_h">'posix_setgid'</span><span class="sy0">,</span><span class="st_h">'posix_setpgid'</span><span class="sy0">,</span><span class="st_h">'posix_setsid'</span><span class="sy0">,</span><span class="st_h">'posix_setuid'</span><span class="sy0">,</span></span></span> <span class="st_h">'posix_strerror'</span><span class="sy0">,</span><span class="st_h">'posix_times'</span><span class="sy0">,</span><span class="st_h">'posix_ttyname'</span><span class="sy0">,</span><span class="st_h">'posix_uname'</span><span class="sy0">,</span><span class="st_h">'pow'</span><span class="sy0">,</span> 2975 <span class="xtra li2"><span class="de2"> <span class="st_h">'preg_grep'</span><span class="sy0">,</span><span class="st_h">'preg_last_error'</span><span class="sy0">,</span><span class="st_h">'preg_match'</span><span class="sy0">,</span><span class="st_h">'preg_match_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'preg_quote'</span><span class="sy0">,</span><span class="st_h">'preg_replace'</span><span class="sy0">,</span><span class="st_h">'preg_replace_callback'</span><span class="sy0">,</span><span class="st_h">'preg_split'</span><span class="sy0">,</span> 2976 <span class="xtra li2"><span class="de2"> <span class="st_h">'prev'</span><span class="sy0">,</span><span class="st_h">'print_r'</span><span class="sy0">,</span><span class="st_h">'printf'</span><span class="sy0">,</span><span class="st_h">'proc_close'</span><span class="sy0">,</span><span class="st_h">'proc_get_status'</span><span class="sy0">,</span></span></span> <span class="st_h">'proc_open'</span><span class="sy0">,</span><span class="st_h">'proc_terminate'</span><span class="sy0">,</span><span class="st_h">'putenv'</span><span class="sy0">,</span><span class="st_h">'quoted_printable_decode'</span><span class="sy0">,</span> 2977 <span class="xtra li2"><span class="de2"> <span class="st_h">'quotemeta'</span><span class="sy0">,</span><span class="st_h">'rad2deg'</span><span class="sy0">,</span><span class="st_h">'radius_acct_open'</span><span class="sy0">,</span><span class="st_h">'radius_add_server'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_auth_open'</span><span class="sy0">,</span><span class="st_h">'radius_close'</span><span class="sy0">,</span><span class="st_h">'radius_config'</span><span class="sy0">,</span> 2978 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_create_request'</span><span class="sy0">,</span><span class="st_h">'radius_cvt_addr'</span><span class="sy0">,</span><span class="st_h">'radius_cvt_int'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_cvt_string'</span><span class="sy0">,</span><span class="st_h">'radius_demangle'</span><span class="sy0">,</span><span class="st_h">'radius_demangle_mppe_key'</span><span class="sy0">,</span> 2979 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_get_attr'</span><span class="sy0">,</span><span class="st_h">'radius_get_vendor_attr'</span><span class="sy0">,</span><span class="st_h">'radius_put_addr'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_put_attr'</span><span class="sy0">,</span><span class="st_h">'radius_put_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_string'</span><span class="sy0">,</span> 2980 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_put_vendor_addr'</span><span class="sy0">,</span><span class="st_h">'radius_put_vendor_attr'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_put_vendor_int'</span><span class="sy0">,</span><span class="st_h">'radius_put_vendor_string'</span><span class="sy0">,</span> 2981 <span class="xtra li2"><span class="de2"> <span class="st_h">'radius_request_authenticator'</span><span class="sy0">,</span><span class="st_h">'radius_send_request'</span><span class="sy0">,</span></span></span> <span class="st_h">'radius_server_secret'</span><span class="sy0">,</span><span class="st_h">'radius_strerror'</span><span class="sy0">,</span><span class="st_h">'rand'</span><span class="sy0">,</span><span class="st_h">'range'</span><span class="sy0">,</span> 2982 <span class="xtra li2"><span class="de2"> <span class="st_h">'rawurldecode'</span><span class="sy0">,</span><span class="st_h">'rawurlencode'</span><span class="sy0">,</span><span class="st_h">'read_exif_data'</span><span class="sy0">,</span><span class="st_h">'readdir'</span><span class="sy0">,</span><span class="st_h">'readfile'</span><span class="sy0">,</span></span></span> <span class="st_h">'readgzfile'</span><span class="sy0">,</span><span class="st_h">'readlink'</span><span class="sy0">,</span><span class="st_h">'realpath'</span><span class="sy0">,</span><span class="st_h">'reg_close_key'</span><span class="sy0">,</span><span class="st_h">'reg_create_key'</span><span class="sy0">,</span> 2983 <span class="xtra li2"><span class="de2"> <span class="st_h">'reg_enum_key'</span><span class="sy0">,</span><span class="st_h">'reg_enum_value'</span><span class="sy0">,</span><span class="st_h">'reg_get_value'</span><span class="sy0">,</span><span class="st_h">'reg_open_key'</span><span class="sy0">,</span></span></span> <span class="st_h">'reg_set_value'</span><span class="sy0">,</span><span class="st_h">'register_shutdown_function'</span><span class="sy0">,</span> 2984 <span class="xtra li2"><span class="de2"> <span class="st_h">'register_tick_function'</span><span class="sy0">,</span><span class="st_h">'rename'</span><span class="sy0">,</span><span class="st_h">'res_close'</span><span class="sy0">,</span><span class="st_h">'res_get'</span><span class="sy0">,</span><span class="st_h">'res_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'res_list_type'</span><span class="sy0">,</span><span class="st_h">'res_open'</span><span class="sy0">,</span><span class="st_h">'res_set'</span><span class="sy0">,</span><span class="st_h">'reset'</span><span class="sy0">,</span> 2985 <span class="xtra li2"><span class="de2"> <span class="st_h">'restore_error_handler'</span><span class="sy0">,</span><span class="st_h">'restore_include_path'</span><span class="sy0">,</span><span class="st_h">'rewind'</span><span class="sy0">,</span><span class="st_h">'rewinddir'</span><span class="sy0">,</span></span></span> <span class="st_h">'rmdir'</span><span class="sy0">,</span><span class="st_h">'round'</span><span class="sy0">,</span><span class="st_h">'rsort'</span><span class="sy0">,</span><span class="st_h">'rtrim'</span><span class="sy0">,</span><span class="st_h">'runkit_class_adopt'</span><span class="sy0">,</span> 2986 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_class_emancipate'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_constant_redefine'</span><span class="sy0">,</span><span class="st_h">'runkit_constant_remove'</span><span class="sy0">,</span> 2987 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_default_property_add'</span><span class="sy0">,</span><span class="st_h">'runkit_function_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_function_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_function_redefine'</span><span class="sy0">,</span> 2988 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_function_remove'</span><span class="sy0">,</span><span class="st_h">'runkit_function_rename'</span><span class="sy0">,</span><span class="st_h">'runkit_import'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_lint'</span><span class="sy0">,</span><span class="st_h">'runkit_lint_file'</span><span class="sy0">,</span><span class="st_h">'runkit_method_add'</span><span class="sy0">,</span> 2989 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_method_copy'</span><span class="sy0">,</span><span class="st_h">'runkit_method_redefine'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_method_remove'</span><span class="sy0">,</span><span class="st_h">'runkit_method_rename'</span><span class="sy0">,</span><span class="st_h">'runkit_object_id'</span><span class="sy0">,</span> 2990 <span class="xtra li2"><span class="de2"> <span class="st_h">'runkit_return_value_used'</span><span class="sy0">,</span><span class="st_h">'runkit_sandbox_output_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'runkit_superglobals'</span><span class="sy0">,</span><span class="st_h">'runkit_zval_inspect'</span><span class="sy0">,</span><span class="st_h">'scandir'</span><span class="sy0">,</span><span class="st_h">'sem_acquire'</span><span class="sy0">,</span> 2991 <span class="xtra li2"><span class="de2"> <span class="st_h">'sem_get'</span><span class="sy0">,</span><span class="st_h">'sem_release'</span><span class="sy0">,</span><span class="st_h">'sem_remove'</span><span class="sy0">,</span><span class="st_h">'serialize'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_cache_expire'</span><span class="sy0">,</span><span class="st_h">'session_cache_limiter'</span><span class="sy0">,</span><span class="st_h">'session_commit'</span><span class="sy0">,</span> 2992 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_decode'</span><span class="sy0">,</span><span class="st_h">'session_destroy'</span><span class="sy0">,</span><span class="st_h">'session_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_get_cookie_params'</span><span class="sy0">,</span><span class="st_h">'session_id'</span><span class="sy0">,</span><span class="st_h">'session_is_registered'</span><span class="sy0">,</span> 2993 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_module_name'</span><span class="sy0">,</span><span class="st_h">'session_name'</span><span class="sy0">,</span><span class="st_h">'session_regenerate_id'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_register'</span><span class="sy0">,</span><span class="st_h">'session_save_path'</span><span class="sy0">,</span><span class="st_h">'session_set_cookie_params'</span><span class="sy0">,</span> 2994 <span class="xtra li2"><span class="de2"> <span class="st_h">'session_set_save_handler'</span><span class="sy0">,</span><span class="st_h">'session_start'</span><span class="sy0">,</span><span class="st_h">'session_unregister'</span><span class="sy0">,</span></span></span> <span class="st_h">'session_unset'</span><span class="sy0">,</span><span class="st_h">'session_write_close'</span><span class="sy0">,</span><span class="st_h">'set_content'</span><span class="sy0">,</span> 2995 <span class="xtra li2"><span class="de2"> <span class="st_h">'set_error_handler'</span><span class="sy0">,</span><span class="st_h">'set_file_buffer'</span><span class="sy0">,</span><span class="st_h">'set_include_path'</span><span class="sy0">,</span></span></span> <span class="st_h">'set_magic_quotes_runtime'</span><span class="sy0">,</span><span class="st_h">'set_socket_blocking'</span><span class="sy0">,</span><span class="st_h">'set_time_limit'</span><span class="sy0">,</span> 2996 <span class="xtra li2"><span class="de2"> <span class="st_h">'setcookie'</span><span class="sy0">,</span><span class="st_h">'setlocale'</span><span class="sy0">,</span><span class="st_h">'setrawcookie'</span><span class="sy0">,</span><span class="st_h">'settype'</span><span class="sy0">,</span><span class="st_h">'sha1'</span><span class="sy0">,</span><span class="st_h">'sha1_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'shell_exec'</span><span class="sy0">,</span><span class="st_h">'shmop_close'</span><span class="sy0">,</span><span class="st_h">'shmop_delete'</span><span class="sy0">,</span><span class="st_h">'shmop_open'</span><span class="sy0">,</span><span class="st_h">'shmop_read'</span><span class="sy0">,</span> 2997 <span class="xtra li2"><span class="de2"> <span class="st_h">'shmop_size'</span><span class="sy0">,</span><span class="st_h">'shmop_write'</span><span class="sy0">,</span><span class="st_h">'shm_attach'</span><span class="sy0">,</span><span class="st_h">'shm_detach'</span><span class="sy0">,</span><span class="st_h">'shm_get_var'</span><span class="sy0">,</span></span></span> <span class="st_h">'shm_put_var'</span><span class="sy0">,</span><span class="st_h">'shm_remove'</span><span class="sy0">,</span><span class="st_h">'shm_remove_var'</span><span class="sy0">,</span><span class="st_h">'show_source'</span><span class="sy0">,</span><span class="st_h">'shuffle'</span><span class="sy0">,</span> 2998 <span class="xtra li2"><span class="de2"> <span class="st_h">'similar_text'</span><span class="sy0">,</span><span class="st_h">'simplexml_import_dom'</span><span class="sy0">,</span><span class="st_h">'simplexml_load_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'simplexml_load_string'</span><span class="sy0">,</span><span class="st_h">'sin'</span><span class="sy0">,</span><span class="st_h">'sinh'</span><span class="sy0">,</span><span class="st_h">'sizeof'</span><span class="sy0">,</span><span class="st_h">'sleep'</span><span class="sy0">,</span><span class="st_h">'smtp_close'</span><span class="sy0">,</span> 2999 <span class="xtra li2"><span class="de2"> <span class="st_h">'smtp_cmd_data'</span><span class="sy0">,</span><span class="st_h">'smtp_cmd_mail'</span><span class="sy0">,</span><span class="st_h">'smtp_cmd_rcpt'</span><span class="sy0">,</span><span class="st_h">'smtp_connect'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp_get_quick_print'</span><span class="sy0">,</span><span class="st_h">'snmp_get_valueretrieval'</span><span class="sy0">,</span><span class="st_h">'snmp_read_mib'</span><span class="sy0">,</span> 3000 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmp_set_quick_print'</span><span class="sy0">,</span><span class="st_h">'snmp_set_valueretrieval'</span><span class="sy0">,</span><span class="st_h">'snmp2_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp2_getnext'</span><span class="sy0">,</span><span class="st_h">'snmp2_real_walk'</span><span class="sy0">,</span><span class="st_h">'snmp2_set'</span><span class="sy0">,</span><span class="st_h">'snmp2_walk'</span><span class="sy0">,</span> 3001 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmp3_get'</span><span class="sy0">,</span><span class="st_h">'snmp3_getnext'</span><span class="sy0">,</span><span class="st_h">'snmp3_real_walk'</span><span class="sy0">,</span><span class="st_h">'snmp3_set'</span><span class="sy0">,</span></span></span> <span class="st_h">'snmp3_walk'</span><span class="sy0">,</span><span class="st_h">'snmpget'</span><span class="sy0">,</span><span class="st_h">'snmpgetnext'</span><span class="sy0">,</span><span class="st_h">'snmprealwalk'</span><span class="sy0">,</span><span class="st_h">'snmpset'</span><span class="sy0">,</span> 3002 <span class="xtra li2"><span class="de2"> <span class="st_h">'snmpwalk'</span><span class="sy0">,</span><span class="st_h">'snmpwalkoid'</span><span class="sy0">,</span><span class="st_h">'socket_accept'</span><span class="sy0">,</span><span class="st_h">'socket_bind'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_clear_error'</span><span class="sy0">,</span><span class="st_h">'socket_close'</span><span class="sy0">,</span><span class="st_h">'socket_connect'</span><span class="sy0">,</span> 3003 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_create'</span><span class="sy0">,</span><span class="st_h">'socket_create_listen'</span><span class="sy0">,</span><span class="st_h">'socket_create_pair'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_getopt'</span><span class="sy0">,</span><span class="st_h">'socket_getpeername'</span><span class="sy0">,</span><span class="st_h">'socket_getsockname'</span><span class="sy0">,</span> 3004 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_get_option'</span><span class="sy0">,</span><span class="st_h">'socket_get_status'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_add'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_iovec_alloc'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_delete'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_fetch'</span><span class="sy0">,</span> 3005 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_iovec_free'</span><span class="sy0">,</span><span class="st_h">'socket_iovec_set'</span><span class="sy0">,</span><span class="st_h">'socket_last_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_listen'</span><span class="sy0">,</span><span class="st_h">'socket_read'</span><span class="sy0">,</span><span class="st_h">'socket_readv'</span><span class="sy0">,</span><span class="st_h">'socket_recv'</span><span class="sy0">,</span> 3006 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_recvfrom'</span><span class="sy0">,</span><span class="st_h">'socket_recvmsg'</span><span class="sy0">,</span><span class="st_h">'socket_select'</span><span class="sy0">,</span><span class="st_h">'socket_send'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_sendmsg'</span><span class="sy0">,</span><span class="st_h">'socket_sendto'</span><span class="sy0">,</span><span class="st_h">'socket_setopt'</span><span class="sy0">,</span><span class="st_h">'socket_set_block'</span><span class="sy0">,</span> 3007 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_set_blocking'</span><span class="sy0">,</span><span class="st_h">'socket_set_nonblock'</span><span class="sy0">,</span><span class="st_h">'socket_set_option'</span><span class="sy0">,</span></span></span> <span class="st_h">'socket_set_timeout'</span><span class="sy0">,</span><span class="st_h">'socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'socket_strerror'</span><span class="sy0">,</span> 3008 <span class="xtra li2"><span class="de2"> <span class="st_h">'socket_write'</span><span class="sy0">,</span><span class="st_h">'socket_writev'</span><span class="sy0">,</span><span class="st_h">'sort'</span><span class="sy0">,</span><span class="st_h">'soundex'</span><span class="sy0">,</span><span class="st_h">'spl_autoload'</span><span class="sy0">,</span></span></span> <span class="st_h">'spl_autoload_call'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_extensions'</span><span class="sy0">,</span> 3009 <span class="xtra li2"><span class="de2"> <span class="st_h">'spl_autoload_functions'</span><span class="sy0">,</span><span class="st_h">'spl_autoload_register'</span><span class="sy0">,</span></span></span> <span class="st_h">'spl_autoload_unregister'</span><span class="sy0">,</span><span class="st_h">'spl_classes'</span><span class="sy0">,</span><span class="st_h">'spl_object_hash'</span><span class="sy0">,</span><span class="st_h">'split'</span><span class="sy0">,</span> 3010 <span class="xtra li2"><span class="de2"> <span class="st_h">'spliti'</span><span class="sy0">,</span><span class="st_h">'sprintf'</span><span class="sy0">,</span><span class="st_h">'sql_regcase'</span><span class="sy0">,</span><span class="st_h">'sqlite_array_query'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_busy_timeout'</span><span class="sy0">,</span><span class="st_h">'sqlite_changes'</span><span class="sy0">,</span><span class="st_h">'sqlite_close'</span><span class="sy0">,</span> 3011 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_column'</span><span class="sy0">,</span><span class="st_h">'sqlite_create_aggregate'</span><span class="sy0">,</span><span class="st_h">'sqlite_create_function'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_current'</span><span class="sy0">,</span><span class="st_h">'sqlite_error_string'</span><span class="sy0">,</span><span class="st_h">'sqlite_escape_string'</span><span class="sy0">,</span> 3012 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_exec'</span><span class="sy0">,</span><span class="st_h">'sqlite_factory'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_fetch_array'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_column_types'</span><span class="sy0">,</span> 3013 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_fetch_object'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_single'</span><span class="sy0">,</span><span class="st_h">'sqlite_fetch_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_field_name'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_more'</span><span class="sy0">,</span><span class="st_h">'sqlite_has_prev'</span><span class="sy0">,</span> 3014 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_last_error'</span><span class="sy0">,</span><span class="st_h">'sqlite_last_insert_rowid'</span><span class="sy0">,</span><span class="st_h">'sqlite_libencoding'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_libversion'</span><span class="sy0">,</span><span class="st_h">'sqlite_next'</span><span class="sy0">,</span><span class="st_h">'sqlite_num_fields'</span><span class="sy0">,</span> 3015 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_num_rows'</span><span class="sy0">,</span><span class="st_h">'sqlite_open'</span><span class="sy0">,</span><span class="st_h">'sqlite_popen'</span><span class="sy0">,</span><span class="st_h">'sqlite_prev'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_rewind'</span><span class="sy0">,</span><span class="st_h">'sqlite_seek'</span><span class="sy0">,</span><span class="st_h">'sqlite_single_query'</span><span class="sy0">,</span> 3016 <span class="xtra li2"><span class="de2"> <span class="st_h">'sqlite_udf_decode_binary'</span><span class="sy0">,</span><span class="st_h">'sqlite_udf_encode_binary'</span><span class="sy0">,</span></span></span> <span class="st_h">'sqlite_unbuffered_query'</span><span class="sy0">,</span><span class="st_h">'sqlite_valid'</span><span class="sy0">,</span><span class="st_h">'sqrt'</span><span class="sy0">,</span><span class="st_h">'srand'</span><span class="sy0">,</span><span class="st_h">'sscanf'</span><span class="sy0">,</span> 3017 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_auth_hostbased_file'</span><span class="sy0">,</span><span class="st_h">'ssh2_auth_none'</span><span class="sy0">,</span><span class="st_h">'ssh2_auth_password'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_auth_pubkey_file'</span><span class="sy0">,</span><span class="st_h">'ssh2_connect'</span><span class="sy0">,</span><span class="st_h">'ssh2_exec'</span><span class="sy0">,</span> 3018 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_fetch_stream'</span><span class="sy0">,</span><span class="st_h">'ssh2_fingerprint'</span><span class="sy0">,</span><span class="st_h">'ssh2_forward_accept'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_forward_listen'</span><span class="sy0">,</span><span class="st_h">'ssh2_methods_negotiated'</span><span class="sy0">,</span><span class="st_h">'ssh2_poll'</span><span class="sy0">,</span> 3019 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_publickey_add'</span><span class="sy0">,</span><span class="st_h">'ssh2_publickey_init'</span><span class="sy0">,</span><span class="st_h">'ssh2_publickey_list'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_publickey_remove'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_recv'</span><span class="sy0">,</span><span class="st_h">'ssh2_scp_send'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp'</span><span class="sy0">,</span> 3020 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_sftp_lstat'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_mkdir'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_readlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_sftp_realpath'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rename'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_rmdir'</span><span class="sy0">,</span> 3021 <span class="xtra li2"><span class="de2"> <span class="st_h">'ssh2_sftp_stat'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_symlink'</span><span class="sy0">,</span><span class="st_h">'ssh2_sftp_unlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'ssh2_shell'</span><span class="sy0">,</span><span class="st_h">'ssh2_tunnel'</span><span class="sy0">,</span><span class="st_h">'stat'</span><span class="sy0">,</span><span class="st_h">'stats_absolute_deviation'</span><span class="sy0">,</span> 3022 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_beta'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_cauchy'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_chisquare'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_exponential'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_f'</span><span class="sy0">,</span> 3023 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_gamma'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_laplace'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_logistic'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_noncentral_chisquare'</span><span class="sy0">,</span> 3024 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_noncentral_f'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_noncentral_t'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_cdf_normal'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_poisson'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_t'</span><span class="sy0">,</span> 3025 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_cdf_uniform'</span><span class="sy0">,</span><span class="st_h">'stats_cdf_weibull'</span><span class="sy0">,</span><span class="st_h">'stats_covariance'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_beta'</span><span class="sy0">,</span><span class="st_h">'stats_dens_cauchy'</span><span class="sy0">,</span><span class="st_h">'stats_dens_chisquare'</span><span class="sy0">,</span> 3026 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_exponential'</span><span class="sy0">,</span><span class="st_h">'stats_dens_f'</span><span class="sy0">,</span><span class="st_h">'stats_dens_gamma'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_laplace'</span><span class="sy0">,</span><span class="st_h">'stats_dens_logistic'</span><span class="sy0">,</span><span class="st_h">'stats_dens_normal'</span><span class="sy0">,</span> 3027 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_pmf_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_dens_pmf_hypergeometric'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_dens_pmf_negative_binomial'</span><span class="sy0">,</span><span class="st_h">'stats_dens_pmf_poisson'</span><span class="sy0">,</span> 3028 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_dens_t'</span><span class="sy0">,</span><span class="st_h">'stats_dens_uniform'</span><span class="sy0">,</span><span class="st_h">'stats_dens_weibull'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_harmonic_mean'</span><span class="sy0">,</span><span class="st_h">'stats_kurtosis'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_beta'</span><span class="sy0">,</span> 3029 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_chisquare'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_exponential'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_funiform'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_gamma'</span><span class="sy0">,</span> 3030 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_ipoisson'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_iuniform'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_noncenral_f'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_noncentral_chisquare'</span><span class="sy0">,</span> 3031 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_gen_noncentral_t'</span><span class="sy0">,</span><span class="st_h">'stats_rand_gen_normal'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_gen_t'</span><span class="sy0">,</span><span class="st_h">'stats_rand_getsd'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ibinomial'</span><span class="sy0">,</span> 3032 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_rand_ibinomial_negative'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ignlgi'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_rand_phrase_to_seeds'</span><span class="sy0">,</span><span class="st_h">'stats_rand_ranf'</span><span class="sy0">,</span><span class="st_h">'stats_rand_setall'</span><span class="sy0">,</span> 3033 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_skew'</span><span class="sy0">,</span><span class="st_h">'stats_standard_deviation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_binomial_coef'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_stat_correlation'</span><span class="sy0">,</span><span class="st_h">'stats_stat_factorial'</span><span class="sy0">,</span> 3034 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_stat_independent_t'</span><span class="sy0">,</span><span class="st_h">'stats_stat_innerproduct'</span><span class="sy0">,</span></span></span> <span class="st_h">'stats_stat_paired_t'</span><span class="sy0">,</span><span class="st_h">'stats_stat_percentile'</span><span class="sy0">,</span><span class="st_h">'stats_stat_powersum'</span><span class="sy0">,</span> 3035 <span class="xtra li2"><span class="de2"> <span class="st_h">'stats_variance'</span><span class="sy0">,</span><span class="st_h">'strcasecmp'</span><span class="sy0">,</span><span class="st_h">'strchr'</span><span class="sy0">,</span><span class="st_h">'strcmp'</span><span class="sy0">,</span><span class="st_h">'strcoll'</span><span class="sy0">,</span><span class="st_h">'strcspn'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_bucket_append'</span><span class="sy0">,</span><span class="st_h">'stream_bucket_make_writeable'</span><span class="sy0">,</span> 3036 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_bucket_new'</span><span class="sy0">,</span><span class="st_h">'stream_bucket_prepend'</span><span class="sy0">,</span><span class="st_h">'stream_context_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_context_get_default'</span><span class="sy0">,</span><span class="st_h">'stream_context_get_options'</span><span class="sy0">,</span> 3037 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_context_set_default'</span><span class="sy0">,</span><span class="st_h">'stream_context_set_option'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_context_set_params'</span><span class="sy0">,</span><span class="st_h">'stream_copy_to_stream'</span><span class="sy0">,</span> 3038 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_encoding'</span><span class="sy0">,</span><span class="st_h">'stream_filter_append'</span><span class="sy0">,</span><span class="st_h">'stream_filter_prepend'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_filter_register'</span><span class="sy0">,</span><span class="st_h">'stream_filter_remove'</span><span class="sy0">,</span> 3039 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_get_contents'</span><span class="sy0">,</span><span class="st_h">'stream_get_filters'</span><span class="sy0">,</span><span class="st_h">'stream_get_line'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_get_meta_data'</span><span class="sy0">,</span><span class="st_h">'stream_get_transports'</span><span class="sy0">,</span> 3040 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_get_wrappers'</span><span class="sy0">,</span><span class="st_h">'stream_is_local'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_notification_callback'</span><span class="sy0">,</span><span class="st_h">'stream_register_wrapper'</span><span class="sy0">,</span> 3041 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_resolve_include_path'</span><span class="sy0">,</span><span class="st_h">'stream_select'</span><span class="sy0">,</span><span class="st_h">'stream_set_blocking'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_set_timeout'</span><span class="sy0">,</span><span class="st_h">'stream_set_write_buffer'</span><span class="sy0">,</span> 3042 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_accept'</span><span class="sy0">,</span><span class="st_h">'stream_socket_client'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_enable_crypto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_get_name'</span><span class="sy0">,</span> 3043 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_pair'</span><span class="sy0">,</span><span class="st_h">'stream_socket_recvfrom'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_socket_sendto'</span><span class="sy0">,</span><span class="st_h">'stream_socket_server'</span><span class="sy0">,</span> 3044 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_socket_shutdown'</span><span class="sy0">,</span><span class="st_h">'stream_supports_lock'</span><span class="sy0">,</span></span></span> <span class="st_h">'stream_wrapper_register'</span><span class="sy0">,</span><span class="st_h">'stream_wrapper_restore'</span><span class="sy0">,</span> 3045 <span class="xtra li2"><span class="de2"> <span class="st_h">'stream_wrapper_unregister'</span><span class="sy0">,</span><span class="st_h">'strftime'</span><span class="sy0">,</span><span class="st_h">'stripcslashes'</span><span class="sy0">,</span><span class="st_h">'stripos'</span><span class="sy0">,</span></span></span> <span class="st_h">'stripslashes'</span><span class="sy0">,</span><span class="st_h">'strip_tags'</span><span class="sy0">,</span><span class="st_h">'stristr'</span><span class="sy0">,</span><span class="st_h">'strlen'</span><span class="sy0">,</span><span class="st_h">'strnatcasecmp'</span><span class="sy0">,</span> 3046 <span class="xtra li2"><span class="de2"> <span class="st_h">'strnatcmp'</span><span class="sy0">,</span><span class="st_h">'strpbrk'</span><span class="sy0">,</span><span class="st_h">'strncasecmp'</span><span class="sy0">,</span><span class="st_h">'strncmp'</span><span class="sy0">,</span><span class="st_h">'strpos'</span><span class="sy0">,</span><span class="st_h">'strrchr'</span><span class="sy0">,</span></span></span> <span class="st_h">'strrev'</span><span class="sy0">,</span><span class="st_h">'strripos'</span><span class="sy0">,</span><span class="st_h">'strrpos'</span><span class="sy0">,</span><span class="st_h">'strspn'</span><span class="sy0">,</span><span class="st_h">'strstr'</span><span class="sy0">,</span><span class="st_h">'strtok'</span><span class="sy0">,</span> 3047 <span class="xtra li2"><span class="de2"> <span class="st_h">'strtolower'</span><span class="sy0">,</span><span class="st_h">'strtotime'</span><span class="sy0">,</span><span class="st_h">'strtoupper'</span><span class="sy0">,</span><span class="st_h">'strtr'</span><span class="sy0">,</span><span class="st_h">'strval'</span><span class="sy0">,</span></span></span> <span class="st_h">'str_ireplace'</span><span class="sy0">,</span><span class="st_h">'str_pad'</span><span class="sy0">,</span><span class="st_h">'str_repeat'</span><span class="sy0">,</span><span class="st_h">'str_replace'</span><span class="sy0">,</span><span class="st_h">'str_rot13'</span><span class="sy0">,</span> 3048 <span class="xtra li2"><span class="de2"> <span class="st_h">'str_split'</span><span class="sy0">,</span><span class="st_h">'str_shuffle'</span><span class="sy0">,</span><span class="st_h">'str_word_count'</span><span class="sy0">,</span><span class="st_h">'substr'</span><span class="sy0">,</span></span></span> <span class="st_h">'substr_compare'</span><span class="sy0">,</span><span class="st_h">'substr_count'</span><span class="sy0">,</span><span class="st_h">'substr_replace'</span><span class="sy0">,</span><span class="st_h">'svn_add'</span><span class="sy0">,</span> 3049 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_auth_get_parameter'</span><span class="sy0">,</span><span class="st_h">'svn_auth_set_parameter'</span><span class="sy0">,</span><span class="st_h">'svn_cat'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_checkout'</span><span class="sy0">,</span><span class="st_h">'svn_cleanup'</span><span class="sy0">,</span><span class="st_h">'svn_client_version'</span><span class="sy0">,</span><span class="st_h">'svn_commit'</span><span class="sy0">,</span> 3050 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_diff'</span><span class="sy0">,</span><span class="st_h">'svn_export'</span><span class="sy0">,</span><span class="st_h">'svn_fs_abort_txn'</span><span class="sy0">,</span><span class="st_h">'svn_fs_apply_text'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_begin_txn2'</span><span class="sy0">,</span><span class="st_h">'svn_fs_change_node_prop'</span><span class="sy0">,</span><span class="st_h">'svn_fs_check_path'</span><span class="sy0">,</span> 3051 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_contents_changed'</span><span class="sy0">,</span><span class="st_h">'svn_fs_copy'</span><span class="sy0">,</span><span class="st_h">'svn_fs_delete'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_dir_entries'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_contents'</span><span class="sy0">,</span><span class="st_h">'svn_fs_file_length'</span><span class="sy0">,</span> 3052 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_is_dir'</span><span class="sy0">,</span><span class="st_h">'svn_fs_is_file'</span><span class="sy0">,</span><span class="st_h">'svn_fs_make_dir'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_make_file'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_created_rev'</span><span class="sy0">,</span><span class="st_h">'svn_fs_node_prop'</span><span class="sy0">,</span> 3053 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_fs_props_changed'</span><span class="sy0">,</span><span class="st_h">'svn_fs_revision_prop'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_fs_revision_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_txn_root'</span><span class="sy0">,</span><span class="st_h">'svn_fs_youngest_rev'</span><span class="sy0">,</span> 3054 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_import'</span><span class="sy0">,</span><span class="st_h">'svn_info'</span><span class="sy0">,</span><span class="st_h">'svn_log'</span><span class="sy0">,</span><span class="st_h">'svn_ls'</span><span class="sy0">,</span><span class="st_h">'svn_repos_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_repos_fs'</span><span class="sy0">,</span><span class="st_h">'svn_repos_fs_begin_txn_for_commit'</span><span class="sy0">,</span> 3055 <span class="xtra li2"><span class="de2"> <span class="st_h">'svn_repos_fs_commit_txn'</span><span class="sy0">,</span><span class="st_h">'svn_repos_hotcopy'</span><span class="sy0">,</span><span class="st_h">'svn_repos_open'</span><span class="sy0">,</span></span></span> <span class="st_h">'svn_repos_recover'</span><span class="sy0">,</span><span class="st_h">'svn_status'</span><span class="sy0">,</span><span class="st_h">'svn_update'</span><span class="sy0">,</span><span class="st_h">'symlink'</span><span class="sy0">,</span> 3056 <span class="xtra li2"><span class="de2"> <span class="st_h">'sys_get_temp_dir'</span><span class="sy0">,</span><span class="st_h">'syslog'</span><span class="sy0">,</span><span class="st_h">'system'</span><span class="sy0">,</span><span class="st_h">'tan'</span><span class="sy0">,</span><span class="st_h">'tanh'</span><span class="sy0">,</span><span class="st_h">'tempnam'</span><span class="sy0">,</span></span></span> <span class="st_h">'textdomain'</span><span class="sy0">,</span><span class="st_h">'thread_get'</span><span class="sy0">,</span><span class="st_h">'thread_include'</span><span class="sy0">,</span><span class="st_h">'thread_lock'</span><span class="sy0">,</span> 3057 <span class="xtra li2"><span class="de2"> <span class="st_h">'thread_lock_try'</span><span class="sy0">,</span><span class="st_h">'thread_mutex_destroy'</span><span class="sy0">,</span><span class="st_h">'thread_mutex_init'</span><span class="sy0">,</span></span></span> <span class="st_h">'thread_set'</span><span class="sy0">,</span><span class="st_h">'thread_start'</span><span class="sy0">,</span><span class="st_h">'thread_unlock'</span><span class="sy0">,</span><span class="st_h">'tidy_access_count'</span><span class="sy0">,</span> 3058 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_clean_repair'</span><span class="sy0">,</span><span class="st_h">'tidy_config_count'</span><span class="sy0">,</span><span class="st_h">'tidy_diagnose'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_error_count'</span><span class="sy0">,</span><span class="st_h">'tidy_get_body'</span><span class="sy0">,</span><span class="st_h">'tidy_get_config'</span><span class="sy0">,</span> 3059 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_get_error_buffer'</span><span class="sy0">,</span><span class="st_h">'tidy_get_head'</span><span class="sy0">,</span><span class="st_h">'tidy_get_html'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_get_html_ver'</span><span class="sy0">,</span><span class="st_h">'tidy_get_output'</span><span class="sy0">,</span><span class="st_h">'tidy_get_release'</span><span class="sy0">,</span> 3060 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_get_root'</span><span class="sy0">,</span><span class="st_h">'tidy_get_status'</span><span class="sy0">,</span><span class="st_h">'tidy_getopt'</span><span class="sy0">,</span><span class="st_h">'tidy_is_xhtml'</span><span class="sy0">,</span></span></span> <span class="st_h">'tidy_is_xml'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_file'</span><span class="sy0">,</span><span class="st_h">'tidy_parse_string'</span><span class="sy0">,</span> 3061 <span class="xtra li2"><span class="de2"> <span class="st_h">'tidy_repair_file'</span><span class="sy0">,</span><span class="st_h">'tidy_repair_string'</span><span class="sy0">,</span><span class="st_h">'tidy_warning_count'</span><span class="sy0">,</span><span class="st_h">'time'</span><span class="sy0">,</span></span></span> <span class="st_h">'timezone_abbreviations_list'</span><span class="sy0">,</span><span class="st_h">'timezone_identifiers_list'</span><span class="sy0">,</span> 3062 <span class="xtra li2"><span class="de2"> <span class="st_h">'timezone_name_from_abbr'</span><span class="sy0">,</span><span class="st_h">'timezone_name_get'</span><span class="sy0">,</span><span class="st_h">'timezone_offset_get'</span><span class="sy0">,</span></span></span> <span class="st_h">'timezone_open'</span><span class="sy0">,</span><span class="st_h">'timezone_transitions_get'</span><span class="sy0">,</span><span class="st_h">'tmpfile'</span><span class="sy0">,</span> 3063 <span class="xtra li2"><span class="de2"> <span class="st_h">'token_get_all'</span><span class="sy0">,</span><span class="st_h">'token_name'</span><span class="sy0">,</span><span class="st_h">'touch'</span><span class="sy0">,</span><span class="st_h">'trigger_error'</span><span class="sy0">,</span></span></span> <span class="st_h">'transliterate'</span><span class="sy0">,</span><span class="st_h">'transliterate_filters_get'</span><span class="sy0">,</span><span class="st_h">'trim'</span><span class="sy0">,</span><span class="st_h">'uasort'</span><span class="sy0">,</span> 3064 <span class="xtra li2"><span class="de2"> <span class="st_h">'ucfirst'</span><span class="sy0">,</span><span class="st_h">'ucwords'</span><span class="sy0">,</span><span class="st_h">'uksort'</span><span class="sy0">,</span><span class="st_h">'umask'</span><span class="sy0">,</span><span class="st_h">'uniqid'</span><span class="sy0">,</span><span class="st_h">'unixtojd'</span><span class="sy0">,</span><span class="st_h">'unlink'</span><span class="sy0">,</span></span></span> <span class="st_h">'unpack'</span><span class="sy0">,</span><span class="st_h">'unregister_tick_function'</span><span class="sy0">,</span><span class="st_h">'unserialize'</span><span class="sy0">,</span><span class="st_h">'unset'</span><span class="sy0">,</span> 3065 <span class="xtra li2"><span class="de2"> <span class="st_h">'urldecode'</span><span class="sy0">,</span><span class="st_h">'urlencode'</span><span class="sy0">,</span><span class="st_h">'user_error'</span><span class="sy0">,</span><span class="st_h">'use_soap_error_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'usleep'</span><span class="sy0">,</span><span class="st_h">'usort'</span><span class="sy0">,</span><span class="st_h">'utf8_decode'</span><span class="sy0">,</span><span class="st_h">'utf8_encode'</span><span class="sy0">,</span><span class="st_h">'var_dump'</span><span class="sy0">,</span> 3066 <span class="xtra li2"><span class="de2"> <span class="st_h">'var_export'</span><span class="sy0">,</span><span class="st_h">'variant_abs'</span><span class="sy0">,</span><span class="st_h">'variant_add'</span><span class="sy0">,</span><span class="st_h">'variant_and'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_cast'</span><span class="sy0">,</span><span class="st_h">'variant_cat'</span><span class="sy0">,</span><span class="st_h">'variant_cmp'</span><span class="sy0">,</span> 3067 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_date_from_timestamp'</span><span class="sy0">,</span><span class="st_h">'variant_date_to_timestamp'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_div'</span><span class="sy0">,</span><span class="st_h">'variant_eqv'</span><span class="sy0">,</span><span class="st_h">'variant_fix'</span><span class="sy0">,</span><span class="st_h">'variant_get_type'</span><span class="sy0">,</span> 3068 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_idiv'</span><span class="sy0">,</span><span class="st_h">'variant_imp'</span><span class="sy0">,</span><span class="st_h">'variant_int'</span><span class="sy0">,</span><span class="st_h">'variant_mod'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_mul'</span><span class="sy0">,</span><span class="st_h">'variant_neg'</span><span class="sy0">,</span><span class="st_h">'variant_not'</span><span class="sy0">,</span><span class="st_h">'variant_or'</span><span class="sy0">,</span> 3069 <span class="xtra li2"><span class="de2"> <span class="st_h">'variant_pow'</span><span class="sy0">,</span><span class="st_h">'variant_round'</span><span class="sy0">,</span><span class="st_h">'variant_set'</span><span class="sy0">,</span><span class="st_h">'variant_set_type'</span><span class="sy0">,</span></span></span> <span class="st_h">'variant_sub'</span><span class="sy0">,</span><span class="st_h">'variant_xor'</span><span class="sy0">,</span><span class="st_h">'version_compare'</span><span class="sy0">,</span><span class="st_h">'virtual'</span><span class="sy0">,</span><span class="st_h">'vfprintf'</span><span class="sy0">,</span> 3070 <span class="xtra li2"><span class="de2"> <span class="st_h">'vprintf'</span><span class="sy0">,</span><span class="st_h">'vsprintf'</span><span class="sy0">,</span><span class="st_h">'wddx_add_vars'</span><span class="sy0">,</span><span class="st_h">'wddx_deserialize'</span><span class="sy0">,</span></span></span> <span class="st_h">'wddx_packet_end'</span><span class="sy0">,</span><span class="st_h">'wddx_packet_start'</span><span class="sy0">,</span><span class="st_h">'wddx_serialize_value'</span><span class="sy0">,</span> 3071 <span class="xtra li2"><span class="de2"> <span class="st_h">'wddx_serialize_vars'</span><span class="sy0">,</span><span class="st_h">'win_beep'</span><span class="sy0">,</span><span class="st_h">'win_browse_file'</span><span class="sy0">,</span></span></span> <span class="st_h">'win_browse_folder'</span><span class="sy0">,</span><span class="st_h">'win_create_link'</span><span class="sy0">,</span><span class="st_h">'win_message_box'</span><span class="sy0">,</span> 3072 <span class="xtra li2"><span class="de2"> <span class="st_h">'win_play_wav'</span><span class="sy0">,</span><span class="st_h">'win_shell_execute'</span><span class="sy0">,</span><span class="st_h">'win32_create_service'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_delete_service'</span><span class="sy0">,</span><span class="st_h">'win32_get_last_control_message'</span><span class="sy0">,</span> 3073 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_ps_list_procs'</span><span class="sy0">,</span><span class="st_h">'win32_ps_stat_mem'</span><span class="sy0">,</span><span class="st_h">'win32_ps_stat_proc'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_query_service_status'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_delete_task'</span><span class="sy0">,</span> 3074 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_scheduler_enum_tasks'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_get_task_info'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_scheduler_run'</span><span class="sy0">,</span><span class="st_h">'win32_scheduler_set_task_info'</span><span class="sy0">,</span> 3075 <span class="xtra li2"><span class="de2"> <span class="st_h">'win32_set_service_status'</span><span class="sy0">,</span><span class="st_h">'win32_start_service'</span><span class="sy0">,</span></span></span> <span class="st_h">'win32_start_service_ctrl_dispatcher'</span><span class="sy0">,</span><span class="st_h">'win32_stop_service'</span><span class="sy0">,</span> 3076 <span class="xtra li2"><span class="de2"> <span class="st_h">'wordwrap'</span><span class="sy0">,</span><span class="st_h">'xml_error_string'</span><span class="sy0">,</span><span class="st_h">'xml_get_current_byte_index'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_get_current_column_number'</span><span class="sy0">,</span><span class="st_h">'xml_get_current_line_number'</span><span class="sy0">,</span> 3077 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_get_error_code'</span><span class="sy0">,</span><span class="st_h">'xml_parse'</span><span class="sy0">,</span><span class="st_h">'xml_parser_create'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_parser_create_ns'</span><span class="sy0">,</span><span class="st_h">'xml_parser_free'</span><span class="sy0">,</span><span class="st_h">'xml_parser_get_option'</span><span class="sy0">,</span> 3078 <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> 3079 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_element_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_end_namespace_decl_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_external_entity_ref_handler'</span><span class="sy0">,</span> 3080 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_notation_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xml_set_object'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_processing_instruction_handler'</span><span class="sy0">,</span> 3081 <span class="xtra li2"><span class="de2"> <span class="st_h">'xml_set_start_namespace_decl_handler'</span><span class="sy0">,</span></span></span> <span class="st_h">'xml_set_unparsed_entity_decl_handler'</span><span class="sy0">,</span><span class="st_h">'xmldoc'</span><span class="sy0">,</span><span class="st_h">'xmldocfile'</span><span class="sy0">,</span> 3082 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_decode'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_decode_request'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_encode'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_encode_request'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_get_type'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_is_fault'</span><span class="sy0">,</span> 3083 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_parse_method_descriptions'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_server_add_introspection_data'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_call_method'</span><span class="sy0">,</span> 3084 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_create'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_server_destroy'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlrpc_server_register_introspection_callback'</span><span class="sy0">,</span> 3085 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlrpc_server_register_method'</span><span class="sy0">,</span><span class="st_h">'xmlrpc_set_type'</span><span class="sy0">,</span><span class="st_h">'xmltree'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_cdata'</span><span class="sy0">,</span> 3086 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_comment'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_document'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_dtd_attlist'</span><span class="sy0">,</span> 3087 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_end_dtd_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_dtd_entity'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_end_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_end_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_flush'</span><span class="sy0">,</span> 3088 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_full_end_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_open_memory'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_open_uri'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_output_memory'</span><span class="sy0">,</span> 3089 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_set_indent'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_set_indent_string'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_attribute_ns'</span><span class="sy0">,</span> 3090 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_comment'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_document'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd'</span><span class="sy0">,</span> 3091 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_dtd_attlist'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_dtd_element'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_start_dtd_entity'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_element'</span><span class="sy0">,</span> 3092 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_start_element_ns'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_start_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_text'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_attribute'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_attribute_ns'</span><span class="sy0">,</span> 3093 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_cdata'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_comment'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_dtd'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_dtd_attlist'</span><span class="sy0">,</span> 3094 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_dtd_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_dtd_entity'</span><span class="sy0">,</span></span></span> <span class="st_h">'xmlwriter_write_element'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_element_ns'</span><span class="sy0">,</span> 3095 <span class="xtra li2"><span class="de2"> <span class="st_h">'xmlwriter_write_pi'</span><span class="sy0">,</span><span class="st_h">'xmlwriter_write_raw'</span><span class="sy0">,</span><span class="st_h">'xpath_eval'</span><span class="sy0">,</span></span></span> <span class="st_h">'xpath_eval_expression'</span><span class="sy0">,</span><span class="st_h">'xpath_new_context'</span><span class="sy0">,</span><span class="st_h">'xpath_register_ns'</span><span class="sy0">,</span> 3096 <span class="xtra li2"><span class="de2"> <span class="st_h">'xpath_register_ns_auto'</span><span class="sy0">,</span><span class="st_h">'xptr_eval'</span><span class="sy0">,</span><span class="st_h">'xptr_new_context'</span><span class="sy0">,</span><span class="st_h">'yp_all'</span><span class="sy0">,</span></span></span> <span class="st_h">'yp_cat'</span><span class="sy0">,</span><span class="st_h">'yp_errno'</span><span class="sy0">,</span><span class="st_h">'yp_err_string'</span><span class="sy0">,</span><span class="st_h">'yp_first'</span><span class="sy0">,</span> 3097 <span class="xtra li2"><span class="de2"> <span class="st_h">'yp_get_default_domain'</span><span class="sy0">,</span><span class="st_h">'yp_master'</span><span class="sy0">,</span><span class="st_h">'yp_match'</span><span class="sy0">,</span><span class="st_h">'yp_next'</span><span class="sy0">,</span><span class="st_h">'yp_order'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_current_obfuscation_level'</span><span class="sy0">,</span><span class="st_h">'zend_get_cfg_var'</span><span class="sy0">,</span><span class="st_h">'zend_get_id'</span><span class="sy0">,</span> 3098 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_loader_current_file'</span><span class="sy0">,</span><span class="st_h">'zend_loader_enabled'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_loader_file_encoded'</span><span class="sy0">,</span><span class="st_h">'zend_loader_file_licensed'</span><span class="sy0">,</span> 3099 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_loader_install_license'</span><span class="sy0">,</span><span class="st_h">'zend_loader_version'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_logo_guid'</span><span class="sy0">,</span><span class="st_h">'zend_match_hostmasks'</span><span class="sy0">,</span><span class="st_h">'zend_obfuscate_class_name'</span><span class="sy0">,</span> 3100 <span class="xtra li2"><span class="de2"> <span class="st_h">'zend_obfuscate_function_name'</span><span class="sy0">,</span><span class="st_h">'zend_optimizer_version'</span><span class="sy0">,</span></span></span> <span class="st_h">'zend_runtime_obfuscate'</span><span class="sy0">,</span><span class="st_h">'zend_version'</span><span class="sy0">,</span><span class="st_h">'zip_close'</span><span class="sy0">,</span> 3101 <span class="xtra li2"><span class="de2"> <span class="st_h">'zip_entry_close'</span><span class="sy0">,</span><span class="st_h">'zip_entry_compressedsize'</span><span class="sy0">,</span></span></span> <span class="st_h">'zip_entry_compressionmethod'</span><span class="sy0">,</span><span class="st_h">'zip_entry_filesize'</span><span class="sy0">,</span><span class="st_h">'zip_entry_name'</span><span class="sy0">,</span> 3102 <span class="xtra li2"><span class="de2"> <span class="st_h">'zip_entry_open'</span><span class="sy0">,</span><span class="st_h">'zip_entry_read'</span><span class="sy0">,</span><span class="st_h">'zip_open'</span><span class="sy0">,</span><span class="st_h">'zip_read'</span><span class="sy0">,</span></span></span> <span class="st_h">'zlib_get_coding_type'</span> 3103 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3104 <span class="xtra li2"><span class="de2"> <span class="st_h">'DEFAULT_INCLUDE_PATH'</span><span class="sy0">,</span> <span class="st_h">'DIRECTORY_SEPARATOR'</span><span class="sy0">,</span> <span class="st_h">'E_ALL'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_COMPILE_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_COMPILE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_CORE_ERROR'</span><span class="sy0">,</span> 3105 <span class="xtra li2"><span class="de2"> <span class="st_h">'E_CORE_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_PARSE'</span><span class="sy0">,</span> <span class="st_h">'E_STRICT'</span><span class="sy0">,</span></span></span> <span class="st_h">'E_USER_ERROR'</span><span class="sy0">,</span> <span class="st_h">'E_USER_NOTICE'</span><span class="sy0">,</span> <span class="st_h">'E_USER_WARNING'</span><span class="sy0">,</span> <span class="st_h">'E_WARNING'</span><span class="sy0">,</span> 3106 <span class="xtra li2"><span class="de2"> <span class="st_h">'ENT_COMPAT'</span><span class="sy0">,</span><span class="st_h">'ENT_QUOTES'</span><span class="sy0">,</span><span class="st_h">'ENT_NOQUOTES'</span><span class="sy0">,</span></span></span> <span class="st_h">'false'</span><span class="sy0">,</span> <span class="st_h">'null'</span><span class="sy0">,</span> <span class="st_h">'PEAR_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PEAR_INSTALL_DIR'</span><span class="sy0">,</span> 3107 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_BINDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_CONFIG_FILE_PATH'</span><span class="sy0">,</span> <span class="st_h">'PHP_DATADIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_EXTENSION_DIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_LIBDIR'</span><span class="sy0">,</span> 3108 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_LOCALSTATEDIR'</span><span class="sy0">,</span> <span class="st_h">'PHP_OS'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_OUTPUT_HANDLER_CONT'</span><span class="sy0">,</span> <span class="st_h">'PHP_OUTPUT_HANDLER_END'</span><span class="sy0">,</span> 3109 <span class="xtra li2"><span class="de2"> <span class="st_h">'PHP_OUTPUT_HANDLER_START'</span><span class="sy0">,</span> <span class="st_h">'PHP_SYSCONFDIR'</span><span class="sy0">,</span></span></span> <span class="st_h">'PHP_VERSION'</span><span class="sy0">,</span> <span class="st_h">'true'</span><span class="sy0">,</span> <span class="st_h">'__CLASS__'</span><span class="sy0">,</span> <span class="st_h">'__FILE__'</span><span class="sy0">,</span> <span class="st_h">'__FUNCTION__'</span><span class="sy0">,</span> 3110 <span class="xtra li2"><span class="de2"> <span class="st_h">'__LINE__'</span><span class="sy0">,</span> <span class="st_h">'__METHOD__'</span></span></span> <span class="br0">)</span> 3111 <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> 3112 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'<%'</span><span class="sy0">,</span> <span class="st_h">'<%='</span><span class="sy0">,</span> <span class="st_h">'%>'</span><span class="sy0">,</span> <span class="st_h">'<?'</span><span class="sy0">,</span> <span class="st_h">'<?='</span><span class="sy0">,</span> <span class="st_h">'?>'</span> 3113 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3114 <span class="xtra li2"><span class="de2"> <span class="st_h">'('</span><span class="sy0">,</span> <span class="st_h">')'</span><span class="sy0">,</span> <span class="st_h">'['</span><span class="sy0">,</span> <span class="st_h">']'</span><span class="sy0">,</span> <span class="st_h">'{'</span><span class="sy0">,</span> <span class="st_h">'}'</span><span class="sy0">,</span></span></span> <span class="st_h">'!'</span><span class="sy0">,</span> <span class="st_h">'@'</span><span class="sy0">,</span> <span class="st_h">'%'</span><span class="sy0">,</span> <span class="st_h">'&'</span><span class="sy0">,</span> <span class="st_h">'|'</span><span class="sy0">,</span> <span class="st_h">'/'</span><span class="sy0">,</span> 3115 <span class="xtra li2"><span class="de2"> <span class="st_h">'<'</span><span class="sy0">,</span> <span class="st_h">'>'</span><span class="sy0">,</span></span></span> <span class="st_h">'='</span><span class="sy0">,</span> <span class="st_h">'-'</span><span class="sy0">,</span> <span class="st_h">'+'</span><span class="sy0">,</span> <span class="st_h">'*'</span><span class="sy0">,</span> 3116 <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> 3117 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'CASE_SENSITIVE'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3118 <span class="xtra li2"><span class="de2"> GESHI_COMMENTS <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span> 3119 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span></span></span> <span class="nu0">3</span> <span class="sy0">=></span> <span class="kw4">false</span><span class="sy0">,</span> 3120 <span class="xtra li2"><span class="de2"> <span class="nu0">4</span> <span class="sy0">=></span> <span class="kw4">false</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3121 <span class="xtra li2"><span class="de2"> <span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3122 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #b1b100;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span><span class="sy0">,</span> 3123 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #990000;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009900; font-weight: bold;'</span> 3124 <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> 3125 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span><span class="sy0">,</span> 3126 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #0000cc; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-style: italic;'</span><span class="sy0">,</span> 3127 <span class="xtra li2"><span class="de2"> <span class="st_h">'MULTI'</span> <span class="sy0">=></span> <span class="st_h">'color: #666666; font-style: italic;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3128 <span class="xtra li2"><span class="de2"> <span class="st_h">'ESCAPE_CHAR'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span> 3129 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span> 3130 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'color: #660099; font-weight: bold;'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold;'</span><span class="sy0">,</span> 3131 <span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">'color: #006699; font-weight: bold; font-style: italic;'</span><span class="sy0">,</span></span></span> <span class="nu0">6</span> <span class="sy0">=></span> <span class="st_h">'color: #009933; font-weight: bold;'</span><span class="sy0">,</span> 3132 <span class="xtra li2"><span class="de2"> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #000099; font-weight: bold;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3133 <span class="xtra li2"><span class="de2"> <span class="st_h">'BRACKETS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #009900;'</span> 3134 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'STRINGS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3135 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span><span class="sy0">,</span></span></span> <span class="st_h">'HARD'</span> <span class="sy0">=></span> <span class="st_h">'color: #0000ff;'</span> 3136 <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> 3137 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #cc66cc;'</span><span class="sy0">,</span></span></span> GESHI_NUMBER_OCT_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span> 3138 <span class="xtra li2"><span class="de2"> GESHI_NUMBER_HEX_PREFIX <span class="sy0">=></span> <span class="st_h">'color: #208080;'</span><span class="sy0">,</span></span></span> GESHI_NUMBER_FLT_SCI_ZERO <span class="sy0">=></span> <span class="st_h">'color:#800080;'</span><span class="sy0">,</span> 3139 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'METHODS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3140 <span class="xtra li2"><span class="de2"> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span><span class="sy0">,</span></span></span> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'color: #004000;'</span> 3141 <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> 3142 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #339933;'</span><span class="sy0">,</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'color: #000000; font-weight: bold;'</span> 3143 <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> 3144 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">'color: #000088;'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3145 <span class="xtra li2"><span class="de2"> <span class="st_h">'SCRIPT'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3146 <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> 3147 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span><span class="sy0">,</span> 3148 <span class="xtra li2"><span class="de2"> <span class="nu0">5</span> <span class="sy0">=></span> <span class="st_h">''</span></span></span> <span class="br0">)</span> 3149 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3150 <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> 3151 <span class="xtra li2"><span class="de2"> <span class="nu0">3</span> <span class="sy0">=></span> <span class="st_h">'http://www.php.net/{FNAMEL}'</span><span class="sy0">,</span></span></span> <span class="nu0">4</span> <span class="sy0">=></span> <span class="st_h">''</span> 3152 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3153 <span class="xtra li2"><span class="de2"> <span class="st_h">'OBJECT_SPLITTERS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="nu0">1</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span> 3154 <span class="xtra li2"><span class="de2"> <span class="nu0">2</span> <span class="sy0">=></span> <span class="st_h">'::'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3155 <span class="xtra li2"><span class="de2"> <span class="st_h">'REGEXPS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span></span></span> <span class="co1">//Variables</span> 3156 <span class="xtra li2"><span class="de2"> <span class="nu0">0</span> <span class="sy0">=></span> <span class="st0">"[<span class="es1">\\</span>$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3157 <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> 3158 <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> 3159 <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> 3160 <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> 3161 <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> 3162 <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> 3163 <span class="xtra li2"><span class="de2"> <span class="st_h">'<script language="php">'</span> <span class="sy0">=></span> <span class="st_h">'</script>'</span></span></span> <span class="br0">)</span><span class="sy0">,</span> 3164 <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> 3165 <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> 3166 <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> 3167 <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> 3168 <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> 3169 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span> <span class="st_h">'TAB_WIDTH'</span> <span class="sy0">=></span> <span class="nu0">4</span> 3170 <span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">;</span></span></span> 3171 <span class="xtra li2"><span class="de2"><span class="sy1">?></span></span></span></pre></td></tr></tbody></table> 3172 3173 <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 3174 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 3175 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> 3176 3177 <h3 id="language-file-conventions">4.2 Language File Conventions</h3><div class="nav"><a href="#language-file-example">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-sections">Next</a></div> 3178 3179 <p>There are several conventions that are used in language files. For ease of use and readability, your language 3180 files should obey the following rules:</p> 3181 3182 <ul> 3183 <li><strong>Indentation is <em>4 spaces</em>, not tabs:</strong> Use spaces! as editors continiously screw up tabs there should be 3184 no tabs in your documents since it would look differently on every computer otherwise.</li> 3185 <li><strong>Strings are in single quotes:</strong> Every string in a language file should be in single quotes (‘), unless you are 3186 specifying a single quote as a quotemark or escape character, in which case they can be in double quotes for 3187 readability; or if you are specifying a REGEXP (see below). This ensures that the language file can be loaded 3188 as fast as possible by <abbr title="PHP: HTML Preprocessor">PHP</abbr> as unnecessary parsing can be avoided.</li> 3189 <li><strong>Large arrays are multi-lined:</strong> An array with more than three or four values should be broken into multiple 3190 lines. In any case, lines should not be wider than a full-screen window (about 100 chars per line max). 3191 Don’t break the keywords arrays after every keyword.</li> 3192 <li><strong>Ending brackets for multi-lined arrays on a new line:</strong> Also with a comma after them, unless the array is 3193 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> 3194 <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> 3195 their actual values.</li> 3196 <li><strong>Verbatim header format:</strong> Copy the file header verbatim from other language files and modify the values 3197 afterwards. Don’t try to invent own header formats, as your languages else will fail validation!</li> 3198 </ul> 3199 3200 <p>There are more notes on each convention where it may appear in the language file sections below.</p> 3201 3202 <h3 id="language-file-sections">4.3 Language File Sections</h3><div class="nav"><a href="#language-file-conventions">Previous</a> | <a href="#language-files">Top</a> | <a href="#language-file-header">Next</a></div> 3203 3204 <p>This section will look at all the sections of a language file, and how they relate to the final highlighting result.</p> 3205 3206 <h4 id="language-file-header">4.3.1 The Header</h4><div class="nav"><a href="#language-file-sections">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-start-indices">Next</a></div> 3207 3208 <p>The <em>header</em> of a language file is the first lines with the big comment and the start of the variable 3209 <code class="highlighted php"><span class="re0">$language_data</span></code>:</p> 3210 3211 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3212 <span class="xtra li2"><span class="de2">2</span></span>3 3213 <span class="xtra li2"><span class="de2">4</span></span>5 3214 <span class="xtra li2"><span class="de2">6</span></span>7 3215 <span class="xtra li2"><span class="de2">8</span></span>9 3216 <span class="xtra li2"><span class="de2">10</span></span>11 3217 <span class="xtra li2"><span class="de2">12</span></span>13 3218 <span class="xtra li2"><span class="de2">14</span></span>15 3219 <span class="xtra li2"><span class="de2">16</span></span>17 3220 <span class="xtra li2"><span class="de2">18</span></span>19 3221 <span class="xtra li2"><span class="de2">20</span></span>21 3222 <span class="xtra li2"><span class="de2">22</span></span>23 3223 <span class="xtra li2"><span class="de2">24</span></span>25 3224 <span class="xtra li2"><span class="de2">26</span></span>27 3225 <span class="xtra li2"><span class="de2">28</span></span>29 3226 <span class="xtra li2"><span class="de2">30</span></span>31 3227 <span class="xtra li2"><span class="de2">32</span></span>33 3228 <span class="xtra li2"><span class="de2">34</span></span>35 3229 <span class="xtra li2"><span class="de2">36</span></span>37 3230 <span class="xtra li2"><span class="de2">38</span></span>39 3231 <span class="xtra li2"><span class="de2">40</span></span>41 3232 <span class="xtra li2"><span class="de2">42</span></span>43 3233 </pre></td><td class="de1"><pre class="de1"><span class="kw2"><?php</span> 3234 <span class="xtra li2"><span class="de2"><span class="coMULTI">/*************************************************************************************</span></span></span><span class="coMULTI"> * <name-of-language-file.php></span> 3235 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * ---------------------------------</span></span></span><span class="coMULTI"> * Author: <name> (<e-mail address>)</span> 3236 <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> 3237 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * Date Started: <date started></span></span></span><span class="coMULTI"> *</span> 3238 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <name-of-language> language file for GeSHi.</span></span></span><span class="coMULTI"> *</span> 3239 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <any-comments...></span></span></span><span class="coMULTI"> *</span> 3240 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * CHANGES</span></span></span><span class="coMULTI"> * -------</span> 3241 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * <date-of-release> (<GeSHi release>)</span></span></span><span class="coMULTI"> * - First Release</span> 3242 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * TODO (updated <date-of-release>)</span> 3243 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * -------------------------</span></span></span><span class="coMULTI"> * <things-to-do></span> 3244 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> *************************************************************************************</span> 3245 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> * This file is part of GeSHi.</span> 3246 <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> 3247 <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> 3248 <span class="xtra li2"><span class="de2"><span class="coMULTI"> * (at your option) any later version.</span></span></span><span class="coMULTI"> *</span> 3249 <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> 3250 <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> 3251 <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> 3252 <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> 3253 <span class="xtra li2"><span class="de2"><span class="coMULTI"> *</span></span></span><span class="coMULTI"> ************************************************************************************/</span> 3254 <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> 3255 3256 <p>The parts in angle brackets are the parts that you change for your language file. <strong>Everything else <em>must</em> remain the same!</strong></p> 3257 3258 <p>Here are the parts you should change:</p> 3259 3260 <ul> 3261 <li><code><name-of-language-file.php></code> - This should become the name of your language file. Language file names are in 3262 lower case and contain only alphanumeric characters, dashes and underscores. Language files end with .php (which 3263 you should put with the name of your language file, eg language.php)</li> 3264 <li><code><name></code> - Your name, or alias.</li> 3265 <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> 3266 include an e-mail address that refers to an inbox controlled by you.</li> 3267 <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 3268 your home page/blog)</li> 3269 <li><code><date-started></code> - The date you started working on the language file. If you can’t remember, guestimate.</li> 3270 <li><code><name-of-language></code> - The name of the language you made this language file for (probably similar to 3271 the language file name).</li> 3272 <li><code><any-comments></code> - Any comments you have to make about this language file, perhaps on where you got the keywords for, 3273 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> 3274 <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 3275 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 3276 it is first added to.</li> 3277 <li><code><GeSHi release></code> - This is the version of the release that will contain the changes you made. 3278 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> 3279 </ul> 3280 3281 <p>Everything should remain the same.</p> 3282 3283 <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 3284 whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a 3285 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> release)?</p> 3286 3287 <h4 id="language-file-start-indices">4.3.2 The First Indices</h4><div class="nav"><a href="#language-file-header">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-keywords">Next</a></div> 3288 3289 <p>Here is an example from the php language file of the first indices:</p> 3290 3291 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3292 <span class="xtra li2"><span class="de2">2</span></span>3 3293 <span class="xtra li2"><span class="de2">4</span></span>5 3294 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'LANG_NAME'</span> <span class="sy0">=></span> <span class="st_h">'PHP'</span><span class="sy0">,</span> 3295 <span class="xtra li2"><span class="de2"><span class="st_h">'COMMENT_SINGLE'</span> <span class="sy0">=></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> 3296 <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> 3297 <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> 3298 3299 <p>The first indices are the first few lines of a language file before the KEYWORDS index. These indices specify:</p> 3300 3301 <ul> 3302 <li><strong>‘LANG_NAME’</strong>: The name of the language. This name should be a human-readable version of the name 3303 (e.g. <abbr title="Hypertext Markup Language">HTML</abbr> 4 (transitional) instead of html4trans)</li> 3304 <li><strong>‘COMMENT_SINGLE’:</strong> An array of single-line comments in your language, indexed by integers starting 3305 from 1. A single line comment is a comment that starts at the marker and goes until the end of the line. These 3306 comments may be any length > 0, and since they can be styled individually, can be used for other things than comments 3307 (for example the Java language file defines “import” as a single line comment). If you are making a language that 3308 uses a ’ (apostrophe) as a comment (or in the comment marker somewhere), use double quotes. e.g.: “’”</li> 3309 <li><strong>‘COMMENT_MULTI’:</strong> Used to specify multiline comments, an array in the form ‘OPEN’ => ‘CLOSE’. Unfortunately, 3310 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). 3311 These comment markers may be any length > 0.</li> 3312 <li><strong>‘CASE_KEYWORDS’:</strong> Used to set whether the case of keywords should be changed automatically as they are found. 3313 For example, in an SQL or BASIC dialect you may want all keywords to be upper case. The accepted values for this are:</li> 3314 <li><code>GESHI_CAPS_UPPER</code>: Convert the case of all keywords to upper case.</li> 3315 <li><code>GESHI_CAPS_LOWER</code>: Convert the case of all keywords to lower case.</li> 3316 <li><code>GESHI_CAPS_NO_CHANGE</code>: Don’t change the case of any keyword.</li> 3317 <li><strong>‘QUOTEMARKS’:</strong> Specifies the characters that mark the beginning and end of a string. This is another example 3318 where if your language includes the ’ string delimiter you should use double quotes around it.</li> 3319 <li><strong>‘ESCAPE_CHAR’:</strong> Specifies the escape character used in all strings. If your language does not have an escape 3320 character then make this the empty string (<code>''</code>). This is not an array! If found, any character after an 3321 escape character and the escape character itself will be highlighted differently, and the character after the 3322 escape character cannot end a string.</li> 3323 </ul> 3324 3325 <p>In some language files you might see here other indices too, but those are dealt with later on.</p> 3326 3327 <h4 id="language-file-keywords">4.3.3 Keywords</h4><div class="nav"><a href="#language-file-start-indices">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-symbols-case">Next</a></div> 3328 3329 <p>Keywords will make up the bulk of a language file. In this part you add keywords for your language, including 3330 inbuilt functions, data types, predefined constants etc etc.</p> 3331 3332 <p>Here’s a (shortened) example from the php language file:</p> 3333 3334 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3335 <span class="xtra li2"><span class="de2">2</span></span>3 3336 <span class="xtra li2"><span class="de2">4</span></span>5 3337 <span class="xtra li2"><span class="de2">6</span></span>7 3338 <span class="xtra li2"><span class="de2">8</span></span>9 3339 <span class="xtra li2"><span class="de2">10</span></span>11 3340 <span class="xtra li2"><span class="de2">12</span></span>13 3341 <span class="xtra li2"><span class="de2">14</span></span>15 3342 <span class="xtra li2"><span class="de2">16</span></span>17 3343 <span class="xtra li2"><span class="de2">18</span></span>19 3344 <span class="xtra li2"><span class="de2">20</span></span>21 3345 <span class="xtra li2"><span class="de2">22</span></span>23 3346 <span class="xtra li2"><span class="de2">24</span></span>25 3347 <span class="xtra li2"><span class="de2">26</span></span>27 3348 <span class="xtra li2"><span class="de2">28</span></span>29 3349 <span class="xtra li2"><span class="de2">30</span></span>31 3350 <span class="xtra li2"><span class="de2">32</span></span>33 3351 <span class="xtra li2"><span class="de2">34</span></span>35 3352 <span class="xtra li2"><span class="de2">36</span></span>37 3353 <span class="xtra li2"><span class="de2">38</span></span>39 3354 <span class="xtra li2"><span class="de2">40</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'KEYWORDS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3355 <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> 3356 <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> 3357 <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> 3358 <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> 3359 <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> 3360 <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> 3361 <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> 3362 <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> 3363 <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> 3364 <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> 3365 <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> 3366 <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> 3367 <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> 3368 <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> 3369 <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> 3370 <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> 3371 <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> 3372 <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> 3373 <span class="xtra li2"><span class="de2"> <span class="st_h">'zlib_get_coding_type'</span></span></span> <span class="br0">)</span> 3374 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3375 3376 <p>You can see that the index ‘KEYWORDS’ refers to an array of arrays, indexed by positive integers. In each array, 3377 there are some keywords (in the actual php language file there is in fact many more keywords in the array indexed by 3). 3378 Here are some points to note about these keywords:</p> 3379 3380 <ul> 3381 <li><strong>Indexed by positive integers:</strong> Use nothing else! I may change this in 1.2.X, but for the 1.0.X series, 3382 use positive integers only. Using strings here results in unnecessary overhead degrading performance when 3383 highlighting code with your language file!</li> 3384 <li><strong>Keywords sorted ascending:</strong> Keywords <em>should</em> be sorted in <em>ascending</em> order. This is mainly for 3385 readability. An issue with versions before 1.0.8 has been solved, so the reverse sorting order 3386 is no longer required and should thus be avoided. <abbr title="Generic Syntax Highlighter">GeSHi</abbr> itself sorts the keywords internally when 3387 building some of its caches, so the order doesn’t matter, but makes things easier to read and maintain.</li> 3388 <li><strong>Keywords are case sensitive (sometimes):</strong> If your language is case-sensitive, the correct casing of the 3389 keywords is defined as the case of the keywords in these keyword arrays. If you check the java language file you 3390 will see that everything is in exact casing. So if any of these keyword arrays are case sensitive, put the 3391 keywords in as their correct case! (note that which groups are case sensitive and which are not is configurable, 3392 see later on). If a keyword group is case insensitive, put the lowercase version of the keyword here 3393 <strong>OR</strong> in case documentation links require a special casing (other than all lowercase or all uppercase) 3394 the casing required for them use their casing.</li> 3395 <li><strong>Keywords must be in <code class="highlighted php"><span class="kw3">htmlentities</span><span class="br0">(</span><span class="br0">)</span></code> form:</strong> All keywords should be written as if they had been 3396 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 3397 <code class="highlighted html4strict"><span class="sc2"><foo></span></code></li> 3398 <li><strong>Don’t use keywords to highlight symbols:</strong> Just don’t!!! It doesn’t work, and there is seperate support 3399 for symbols since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21.</li> 3400 <li><strong>Markup Languages are special cases:</strong> Check the html4strict language file for an example: You need to tweak 3401 the Parser control here to tell the surroundings of tagnames. In case of doubt, feel free to ask.</li> 3402 </ul> 3403 3404 <h4 id="language-file-symbols-case">4.3.4 Symbols and Case Sensitivity</h4><div class="nav"><a href="#language-file-keywords">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-styles">Next</a></div> 3405 3406 <p>So you’ve put all the keywords for your language in? Now for a breather before we style them :). Symbols define 3407 what symbols your language uses. These are things like colons, brackets/braces, and other such general punctuation. 3408 No alphanumeric stuff belongs here, just the same as no symbols belong into the keywords section.</p> 3409 3410 <p>As of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> version 1.0.7.21 the symbols section can be used in two ways:</p> 3411 3412 <dl> 3413 <dt>Flat usage:</dt> 3414 <dd>This mode is the suggested way for existing language files and languages that only need few symbols where no 3415 further differentiation is needed or desired. You simply put all the characters in an array under symbols as shown 3416 in the first example below. All symbols in flat usage belong to symbol style group 0.</dd> 3417 3418 <dt>Group usage:</dt> 3419 <dd>This is a slightly more enhanced way to provide <abbr title="Generic Syntax Highlighter">GeSHi</abbr> symbol information. To use group you create several subarrays 3420 each containing only a subset of the symbols to highlight. Every array will need to have an unique index thus 3421 you can assign the appropriate styles later.</dd> 3422 </dl> 3423 3424 <p>Here’s an example for flat symbol usage</p> 3425 3426 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3427 <span class="xtra li2"><span class="de2">2</span></span>3 3428 </pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3429 <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> 3430 3431 <p>which is not too different from the newly introduced group usage shown below:</p> 3432 3433 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3434 <span class="xtra li2"><span class="de2">2</span></span>3 3435 <span class="xtra li2"><span class="de2">4</span></span>5 3436 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'SYMBOLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3437 <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> 3438 <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> 3439 <span class="xtra li2"><span class="de2"><span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3440 3441 <div class="note"> 3442 3443 <div class="note-header">Note:</div> 3444 3445 <p>Please note that versions before 1.0.7.21 will silently ignore this setting.</p> 3446 3447 <p>Also note that <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.7.21 itself had some bugs in Symbol highlighting that could cause 3448 heavily scrambled code output.</p> 3449 3450 </div> 3451 3452 <p>The following case sensitivity group alludes to the keywords section: here you can set which keyword groups are case sensitive.</p> 3453 3454 <p>In the <strong>‘CASE_SENSITIVE’</strong> group there’s a special key <code>GESHI_COMMENTS</code> which is used to set whether comments are 3455 case sensitive or not (for example, BASIC has the REM statement which while not being case sensitive is still alphanumeric, and 3456 as in the example given before about the Java language file using “import” as a single line comment, this can be 3457 useful sometimes. <strong>true</strong> if comments are case sensitive, <strong>false</strong> otherwise. All of the other indices 3458 correspond to indices in the <code>'KEYWORDS'</code> section (see above).</p> 3459 3460 <h4 id="language-file-styles">4.3.5 Styles for your Language File</h4><div class="nav"><a href="#language-file-symbols-case">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-urls">Next</a></div> 3461 3462 <p>This is the fun part! Here you get to choose the colours, fonts, backgrounds and anything else you’d like for your 3463 language file.</p> 3464 3465 <p>Here’s an example:</p> 3466 3467 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3468 <span class="xtra li2"><span class="de2">2</span></span>3 3469 <span class="xtra li2"><span class="de2">4</span></span>5 3470 <span class="xtra li2"><span class="de2">6</span></span>7 3471 <span class="xtra li2"><span class="de2">8</span></span>9 3472 <span class="xtra li2"><span class="de2">10</span></span>11 3473 <span class="xtra li2"><span class="de2">12</span></span>13 3474 <span class="xtra li2"><span class="de2">14</span></span>15 3475 <span class="xtra li2"><span class="de2">16</span></span>17 3476 <span class="xtra li2"><span class="de2">18</span></span>19 3477 <span class="xtra li2"><span class="de2">20</span></span>21 3478 <span class="xtra li2"><span class="de2">22</span></span>23 3479 <span class="xtra li2"><span class="de2">24</span></span>25 3480 <span class="xtra li2"><span class="de2">26</span></span>27 3481 <span class="xtra li2"><span class="de2">28</span></span>29 3482 <span class="xtra li2"><span class="de2">30</span></span>31 3483 <span class="xtra li2"><span class="de2">32</span></span>33 3484 <span class="xtra li2"><span class="de2">34</span></span>35 3485 <span class="xtra li2"><span class="de2">36</span></span>37 3486 <span class="xtra li2"><span class="de2">38</span></span>39 3487 </pre></td><td class="de1"><pre class="de1"><span class="st_h">'STYLES'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3488 <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> 3489 <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> 3490 <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> 3491 <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> 3492 <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> 3493 <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> 3494 <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> 3495 <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> 3496 <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> 3497 <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> 3498 <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> 3499 <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> 3500 <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> 3501 <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> 3502 <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> 3503 <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> 3504 <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> 3505 <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> 3506 <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> 3507 3508 <p>Note that all style rules should end with a semi-colon! This is important: <abbr title="Generic Syntax Highlighter">GeSHi</abbr> may add extra rules to the rules you 3509 specify (and will do so if a user tries to change your styles on the fly), so the last semi-colon in any stylesheet 3510 rule is important!</p> 3511 3512 <p>All strings here should contain valid stylesheet declarations (it’s also fine to have the empty string).</p> 3513 3514 <ul> 3515 <li><strong>‘KEYWORDS’:</strong> This is an array, from keyword index to style. The index you use is the index you used in 3516 the keywords section to specify the keywords belonging to that group.</li> 3517 <li><strong>‘COMMENTS’:</strong> This is an array, from single-line comment index to style for that index. The index ‘MULTI’ is 3518 used for multiline comments (and cannot be an array). COMMENT_REGEXP use the style given for their key as 3519 if they were single-line comments.</li> 3520 <li><strong>‘ESCAPE_CHAR’, ‘BRACKETS’ and ‘METHODS’:</strong> These are arrays with only one index: 0. You cannot add other indices to 3521 these arrays.</li> 3522 <li><strong>‘STRINGS’:</strong> This defines the various styles for the Quotemarks you defined earlier. If you don’t use 3523 multiple styles for strings there’s only one index: 0. Please also add this index in case no strings are present.</li> 3524 <li><strong>‘NUMBERS’:</strong> This sets the styles used to highlight numbers. The format used here depends on the format used to 3525 set the formats of numbers to highlight. If you just used an integer (bitmask) for numbers, you have to either 3526 specify one key with the respective constant, and\or include a key 0 as a default style. If you used an 3527 array for the number markup, copy the keys used there and assign the styles accordingly.</li> 3528 <li><strong>‘SYMBOLS’:</strong> This provides one key for each symbol group you defined above. If you used the flat usage 3529 make sure you include a key for symbols group 0.</li> 3530 <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 3531 name of a function to be called, that will be given the text matched by the regex, each time a match is found. 3532 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 3533 put the function definition at the top of the language file. Be sure to prefix the function name 3534 with <code>geshi_[languagename]_</code> as to not conflict with other functions!</li> 3535 <li><strong>‘SCRIPT’:</strong> For languages that use script delimiters, this is where you can style each block of script. For 3536 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 3537 end with ; (i.e. character entities), and you can set a style to apply to each whole block. You specify the 3538 delimiters for the blocks below. Note that many languages will not need this feature.</li> 3539 </ul> 3540 3541 <h4 id="language-file-urls">4.3.6 URLs for Functions</h4><div class="nav"><a href="#language-file-styles">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-numbers-support">Next</a></div> 3542 3543 <p>This section lets you specify a url to visit for each keyword group. Useful for pointing functions at their online 3544 manual entries.</p> 3545 3546 <p>Here is an example:</p> 3547 3548 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3549 <span class="xtra li2"><span class="de2">2</span></span>3 3550 <span class="xtra li2"><span class="de2">4</span></span>5 3551 <span class="xtra li2"><span class="de2">6</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'URLS'</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3552 <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> 3553 <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> 3554 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3555 3556 <p>The indices of this array correspond to the keyword groups you specified in the keywords section. The string <code>{FNAME}</code> 3557 marks where the name of the function is substituted in. So for the example above, if the keyword being highlighted is 3558 “echo”, then the keyword will be a URL pointing to <code>http://www.php.net/echo</code>. Because some languages (Java!) don’t 3559 keep a uniform URL for functions/classes, you may have trouble in creating a URL for that language (though look in the 3560 java language file for a novel solution to it’s problem)</p> 3561 3562 <h4 id="language-file-numbers-support">4.3.7 Number Highlighting Support</h4><div class="nav"><a href="#language-file-urls">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-oo-support">Next</a></div> 3563 3564 <p>If your language supports different formats of numbers (e.g. integers and float representations) and you want 3565 <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to handle them differently you can select from a set of predefined formats.</p> 3566 3567 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3568 <span class="xtra li2"><span class="de2">2</span></span>3 3569 <span class="xtra li2"><span class="de2">4</span></span></pre></td><td class="de1"><pre class="de1"> <span class="st_h">'NUMBERS'</span> <span class="sy0">=></span> 3570 <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> 3571 <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> 3572 3573 <p>All the formats you want <abbr title="Generic Syntax Highlighter">GeSHi</abbr> to recognize are selected via a bitmask that is built by bitwise OR-ing the format constants. 3574 When styling you use these constants to assign the proper styles. A style not assigned will automatically fallback to style group 0.</p> 3575 3576 <div class="note"> 3577 3578 <div class="note-header">Note:</div> 3579 3580 <p>For a complete list of formats supported by <abbr title="Generic Syntax Highlighter">GeSHi</abbr> have a look into the sources of geshi.php.</p> 3581 3582 </div> 3583 3584 <p>If you want to define your own formats for numbers or when you want to group the style for two or more formats you can use the array syntax.</p> 3585 3586 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3587 <span class="xtra li2"><span class="de2">2</span></span>3 3588 <span class="xtra li2"><span class="de2">4</span></span>5 3589 <span class="xtra li2"><span class="de2">6</span></span>7 3590 </pre></td><td class="de1"><pre class="de1"> <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> 3591 <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> 3592 <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> 3593 <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> 3594 3595 <p>This creates 5 style groups 1..5 that will highlight each of the formats specified for each group. 3596 Styling of these groups doesn’t use the constants but uses the indices you just defined.</p> 3597 3598 <p>Instead of using those predefined constants you also can assign a PCRE that matches a number when using this advanced format.</p> 3599 3600 <div class="note"> 3601 3602 <div class="note-header">Note:</div> 3603 3604 <p>The extended format hasn’t been exhaustively been tested. So beware of bugs there.</p> 3605 3606 </div> 3607 3608 <h4 id="language-file-oo-support">4.3.8 Object Orientation Support</h4><div class="nav"><a href="#language-file-numbers-support">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-regexps">Next</a></div> 3609 3610 <p>Now we’re reaching the most little-used section of a language file, which includes such goodies as object orientation 3611 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 3612 tell it to do so and what the “splitter” is between object/method etc.</p> 3613 3614 <p>Here’s an example:</p> 3615 3616 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3617 <span class="xtra li2"><span class="de2">2</span></span></pre></td><td class="de1"><pre class="de1"><span class="st_h">'OOLANG'</span> <span class="sy0">=></span> <span class="kw4">true</span><span class="sy0">,</span> 3618 <span class="xtra li2"><span class="de2"><span class="st_h">'OBJECT_SPLITTER'</span> <span class="sy0">=></span> <span class="st_h">'-&gt;'</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3619 3620 <p>If your language has object orientation, the value of <code>'OOLANG'</code> is true, otherwise it is false. If it is object 3621 orientated, in the <code>'OBJECT_SPLITTER'</code> value you put the <code>htmlentities()</code> version of the “splitter” between 3622 objects and methods/fields. If it is not, then make this the empty string.</p> 3623 3624 <h4 id="language-file-regexps">4.3.9 Using Regular Expressions</h4><div class="nav"><a href="#language-file-oo-support">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-strict-mode">Next</a></div> 3625 3626 <p>Regular expressions are a good way to catch any other lexic that fits certain rules but can’t be listed as a keyword. 3627 A good example is variables in <abbr title="PHP: HTML Preprocessor">PHP</abbr>: variables always start with either one or two “$” signs, then alphanumeric 3628 characters (a simplification). This is easy to catch with regular expressions.</p> 3629 3630 <p>And new to version 1.0.2, there is an advanced way of using regular expressions to catch certain things but highlight 3631 only part of those things. This is particularly useful for languages like <abbr title="Extensible Markup Language">XML</abbr>.</p> 3632 3633 <div class="caution"> 3634 3635 <div class="caution-header">Caution:</div> 3636 3637 <p>Regular expressions use the PCRE syntax (perl-style), <em>not</em> the <code class="highlighted php"><span class="kw3">ereg</span><span class="br0">(</span><span class="br0">)</span></code> style!</p> 3638 3639 </div> 3640 3641 <p>Here is an example (this time the <abbr title="PHP: HTML Preprocessor">PHP</abbr> file merged with the <abbr title="Extensible Markup Language">XML</abbr> file):</p> 3642 3643 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3644 <span class="xtra li2"><span class="de2">2</span></span>3 3645 <span class="xtra li2"><span class="de2">4</span></span>5 3646 <span class="xtra li2"><span class="de2">6</span></span>7 3647 <span class="xtra li2"><span class="de2">8</span></span>9 3648 <span class="xtra li2"><span class="de2">10</span></span>11 3649 <span class="xtra li2"><span class="de2">12</span></span>13 3650 <span class="xtra li2"><span class="de2">14</span></span>15 3651 </pre></td><td class="de1"><pre class="de1"><span class="nu0">0</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3652 <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> 3653 <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> 3654 <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> 3655 <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> 3656 <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> 3657 <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> 3658 <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> 3659 3660 <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 3661 advanced syntax. Firstly, the simple syntax:</p> 3662 3663 <ul> 3664 <li><strong>May be in double quotes:</strong> To make it easier for those who always place their regular expressions in double quotes, 3665 you may place any regular expression here in double quotes if you wish.</li> 3666 <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, 3667 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 3668 use brackets, it would be better to use the advanced syntax.</li> 3669 <li><strong>Don’t use the “everything” regex:</strong> (That’s the <code>.*?</code> regex). Use advanced syntax instead.</li> 3670 </ul> 3671 3672 <p>And now for advanced syntax, which gives you much more control over exactly what is highlighted:</p> 3673 3674 <ul> 3675 <li><strong>GESHI_SEARCH:</strong> This element specifies the regular expression to search for. If you plan to capture the output, 3676 use brackets (<code>()</code>). See how in the first example above, most of the regular expression is in one set of brackets 3677 (with the equals sign in other brackets). You should make sure that the part of the regular expression that is 3678 supposed to match what is highlighted is in brackets.</li> 3679 <li><strong>GESHI_REPLACE:</strong> This is what the stuff matched by the regular expression will be replaced with. If you’ve 3680 grouped the stuff you want highlighted into brackets in the GESHI_SEARCH element, then you can use <code>\\number</code> 3681 to match that group, where <code>number</code> is a number corresponding to how many open brackets are between the open 3682 bracket of the group you want highlighted and the start of the GESHI_SEARCH string + 1. This may sound confusing, 3683 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 3684 example above, the opening bracket for the stuff we want highlighted is the very first bracket in the string, so 3685 the number of brackets before that bracket and the start of the string is 0. So we add 1 and get our replacement 3686 string of <code>\\1</code> <small>(whew!)</small>.</li> 3687 </ul> 3688 3689 <p>If you didn’t understand a word of that, make sure that there are brackets around the string in <code>GESHI_SEARCH</code> 3690 and use <code>\\1</code> for <code>GESHI_REPLACE</code> ;)</p> 3691 3692 <ul> 3693 <li><strong>GESHI_MODIFIERS:</strong> Specify modifiers for your regular expression. If your regular expression includes the 3694 everything matcher (<code>.*?</code>), then your modifiers should include “s” and “i” (e.g. use ‘si’ for this).</li> 3695 <li><strong>GESHI_BEFORE:</strong>Specifies a bracket group that should appear before the highlighted match (this bracketed group will 3696 not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something 3697 before what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li> 3698 <li><strong>GESHI_AFTER:</strong>Specifies a bracket group that should appear after the highlighted match (this bracketed group will 3699 not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something 3700 after what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.</li> 3701 </ul> 3702 3703 <p>Is that totally confusing? Here’s the test for if you’re an android or not: If you found that perfectly understandable 3704 then you’re an android ;). Here’s a better example:</p> 3705 3706 <p>Let’s say that I’m making a language, and variables in this language always start with a dollar sign ($), are always 3707 written in lowercase letters and always end with an ampersand (&). eg:</p> 3708 3709 <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> 3710 3711 <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, 3712 but with advanced, it’s relatively easy:</p> 3713 3714 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3715 <span class="xtra li2"><span class="de2">2</span></span>3 3716 <span class="xtra li2"><span class="de2">4</span></span>5 3717 <span class="xtra li2"><span class="de2">6</span></span>7 3718 <span class="xtra li2"><span class="de2">8</span></span>9 3719 <span class="xtra li2"><span class="de2">10</span></span>11 3720 <span class="xtra li2"><span class="de2">12</span></span>13 3721 <span class="xtra li2"><span class="de2">14</span></span></pre></td><td class="de1"><pre class="de1"><span class="nu0">1</span> <span class="sy0">=></span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">(</span> 3722 <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> 3723 <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> 3724 <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> 3725 <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> 3726 <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> 3727 <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> 3728 <span class="xtra li2"><span class="de2"> <span class="br0">)</span><span class="sy0">,</span></span></span></pre></td></tr></tbody></table> 3729 3730 <p>So if someone tried to highlight using my language, all cases of <code>$foo&</code> would turn into:</p> 3731 3732 <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> 3733 3734 <p>(which would of course be viewed in a browser to get something like <code class="highlighted php"><span class="re0">$foo</span><span class="sy0">&</span></code>)</p> 3735 3736 <h4 id="language-file-strict-mode">4.3.10 Contextual Highlighting and Strict Mode</h4><div class="nav"><a href="#language-file-regexps">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-parser-control">Next</a></div> 3737 3738 <p>For languages like <abbr title="Hypertext Markup Language">HTML</abbr>, it’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 3739 every single “a” in the source getting highlighted? What about for attributes? If I’ve got the word “colspan” in my 3740 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> 3741 3742 <p>Here is an example:</p> 3743 3744 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3745 <span class="xtra li2"><span class="de2">2</span></span>3 3746 <span class="xtra li2"><span class="de2">4</span></span>5 3747 <span class="xtra li2"><span class="de2">6</span></span>7 3748 <span class="xtra li2"><span class="de2">8</span></span>9 3749 <span class="xtra li2"><span class="de2">10</span></span>11 3750 <span class="xtra li2"><span class="de2">12</span></span>13 3751 <span class="xtra li2"><span class="de2">14</span></span>15 3752 <span class="xtra li2"><span class="de2">16</span></span>17 3753 <span class="xtra li2"><span class="de2">18</span></span>19 3754 <span class="xtra li2"><span class="de2">20</span></span>21 3755 <span class="xtra li2"><span class="de2">22</span></span>23 3756 <span class="xtra li2"><span class="de2">24</span></span>25 3757 <span class="xtra li2"><span class="de2">26</span></span>27 3758 </pre></td><td class="de1"><pre class="de1"><span class="sy1"><?</span> <span class="coMULTI">/* ... */</span> 3759 <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> 3760 <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> 3761 <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> 3762 <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> 3763 <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> 3764 <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> 3765 <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> 3766 <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> 3767 <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> 3768 <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> 3769 <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> 3770 <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> 3771 <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> 3772 3773 <p>What is strict mode? Strict mode says that highlighting only occurs inside the blocks you specify. You can see from 3774 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 3775 <code>GESHI_MAYBE</code>!). Here are some points about strict highlighting:</p> 3776 3777 <ul> 3778 <li><strong>‘STRICT_MODE_APPLIES’:</strong> This takes three values (all constants): 3779 3780 <ul> 3781 <li><code>GESHI_ALWAYS</code>: Strict mode always applies for all of the blocks you specify. Users of your language 3782 file cannot turn strict mode off. This should be used for markup languages.</li> 3783 <li><code>GESHI_NEVER</code>: Strict mode is never used. Users of your language file cannot turn strict mode on. Use this 3784 value if there is no such thing as a block of code that would not be highlighted in your language 3785 (most languages, like C, Java etc. use this because anything in a C file should be highlighted).</li> 3786 <li><code>GESHI_MAYBE</code>: Strict mode *sometimes* applies. It defaults to “off”. Users can turn strict mode on if 3787 they please. If strict mode is off then everything in the source will be highlighted, even things outside 3788 the strict block markers. If strict mode is on the nothing outside strict block markers will be highlighted.</li> 3789 </ul></li> 3790 <li><strong>‘SCRIPT_DELIMITERS’:</strong> This is an array of script delimiters, in the format of the above. The indices are use in the 3791 ‘SCRIPT’ part of the styles section for highlighting everything in a strict block in a certain way. 3792 For example, you could set up your language file to make the background yellow of any code inside a strict 3793 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 3794 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> 3795 <li><strong>‘HIGHLIGHT_STRICT_BLOCK’:</strong> specifies whether any highlighting should go on inside each block. Most of 3796 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 3797 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 3798 style the overall block using the method described above, and the <abbr title="Extensible Markup Language">XML</abbr> language file does just that.</li> 3799 </ul> 3800 3801 <div class="note"> 3802 3803 <div class="note-header">Note:</div> 3804 3805 <p>The delimiters should be in <em>reverse alphabetical order</em>. Note that in the above example, <code class="highlighted php"><span class="kw2"><?php</span></code> 3806 comes before <code class="highlighted php"><span class="sy1"><?</span></code>.</p> 3807 3808 </div> 3809 3810 <p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 instead of specifying an array with starter and ender you may also provide a regular expression 3811 that matches <em>the full block</em> you wish to highlight. If the regular expression match starts at the same position 3812 as a previous array declaration the Regexp match is taken. This is to allow for a fall-back when a preg_match 3813 doesn’t quite work as expected so you still get reasonably well results.</p> 3814 3815 <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 3816 to fix some issues that have been there for about 3 years.</p> 3817 3818 <div class="caution"> 3819 3820 <div class="caution-header">Caution:</div> 3821 3822 <p>For <abbr title="PHP: HTML Preprocessor">PHP</abbr> versions <4.3.3 Strict Block Regexps are completely ignored due to problems in those version 3823 that would cause loads of warning messages otherwise.</p> 3824 3825 </div> 3826 3827 <h4 id="language-file-parser-control">4.3.11 Special Parser Settings (Experimental)</h4><div class="nav"><a href="#language-file-strict-mode">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#language-file-tidying-up">Next</a></div> 3828 3829 <p>Sometimes it is necessary for a language to render correctly to tweak some of the assumptions <abbr title="Generic Syntax Highlighter">GeSHi</abbr> usually makes to match the behaviour your language expects. 3830 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. 3831 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> 3832 3833 <p>The syntax of the <strong>PARSER_CONTROL</strong> basically resembles an array structure simular to the one found in the rest of the language file. All subsections of the <strong>PARSER_CONTROL</strong> are optional. 3834 If a given setting isn’t present the usual default values of <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are used. 3835 No validation of settings is performed for these settings. Also note that unknown settings are silently ignored.</p> 3836 3837 <div class="caution"> 3838 3839 <div class="caution-header">Caution:</div> 3840 3841 <p>All <strong>PARSER_CONTROL</strong> settings are experimental and subject to change. 3842 So if you need a special setting in a public language file you should consider requesting it upstream. 3843 This is also the reason why documentation on these settings will only cover broad usage information as the underlying implementation might change without further notice.</p> 3844 3845 </div> 3846 3847 <p>One of the most common reasons why you might want to use the <strong>PARSER_CONTROL</strong> settings is to tweak what characters are allowed to surround a keyword. 3848 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. 3849 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> 3850 3851 <p>Keyword boundary rules can either be set globally (directly within the PARSER_CONTROL’s KEYWORDS section or on a per-group basis. 3852 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> 3853 3854 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3855 <span class="xtra li2"><span class="de2">2</span></span>3 3856 <span class="xtra li2"><span class="de2">4</span></span>5 3857 <span class="xtra li2"><span class="de2">6</span></span>7 3858 <span class="xtra li2"><span class="de2">8</span></span></pre></td><td class="de1"><pre class="de1"> <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> 3859 <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> 3860 <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> 3861 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span> 3862 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table> 3863 3864 <div class="note"> 3865 3866 <div class="note-header">Note:</div> 3867 3868 <p>The name <code class="highlighted php"><span class="st_h">'DISALLOWED_BEFORE'</span></code> and <code class="highlighted php"><span class="st_h">'DISALLOWED_AFTER'</span></code> might sound confusing at first, since they don’t define what to prevent, but what to match in order to find a keyword. 3869 The reason for this strange naming is based in the original implementation of this feature when Nigel implemented this in the old parser statically. 3870 When this implementation was brought out via the <strong>PARSER_CONTROL</strong> settings the original naming wasn’t altered since at that time this really was a blacklist of characters. 3871 Later on this implementation was changed from a blacklist of characters to a part of a PCRE regexp, but leaving the name. 3872 The naming might be subject to change though.</p> 3873 3874 </div> 3875 3876 <p>Another option you can change since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8.3 is whether to treat spaces within keywords as literals (only a single space as given) or if the space should match any whitespace at that location. 3877 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> 3878 3879 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3880 <span class="xtra li2"><span class="de2">2</span></span>3 3881 <span class="xtra li2"><span class="de2">4</span></span>5 3882 </pre></td><td class="de1"><pre class="de1"> <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> 3883 <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> 3884 <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> 3885 3886 <p>Another option of interest might be disabling certain features for a given language. 3887 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> 3888 3889 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3890 <span class="xtra li2"><span class="de2">2</span></span>3 3891 <span class="xtra li2"><span class="de2">4</span></span>5 3892 <span class="xtra li2"><span class="de2">6</span></span>7 3893 <span class="xtra li2"><span class="de2">8</span></span>9 3894 <span class="xtra li2"><span class="de2">10</span></span>11 3895 <span class="xtra li2"><span class="de2">12</span></span></pre></td><td class="de1"><pre class="de1"> <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> 3896 <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> 3897 <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> 3898 <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> 3899 <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> 3900 <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> 3901 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span></pre></td></tr></tbody></table> 3902 3903 <p>Inside the <code class="highlighted php"><span class="st_h">'ENABLE_FLAGS'</span></code> section follows an array of <code class="highlighted php"><span class="st_h">'name'</span><span class="sy0">=></span>value</code> pairs. 3904 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>). 3905 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). 3906 The value <code class="highlighted php">GESHI_MAYBE</code> is the default one and thus needs not to be set explicitely.</p> 3907 3908 <p>Another setting available through the <strong>PARSER_CONTROL</strong> settings is the possibility to limit the allowed characters before an single line comment.</p> 3909 3910 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3911 <span class="xtra li2"><span class="de2">2</span></span>3 3912 <span class="xtra li2"><span class="de2">4</span></span>5 3913 </pre></td><td class="de1"><pre class="de1"> <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> 3914 <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> 3915 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table> 3916 3917 <p>With the current implementation the DISALLOWED_BEFORE COMMENT-specific setting is a list of characters. But this is subject to change.</p> 3918 3919 <div class="note"> 3920 3921 <div class="note-header">Note:</div> 3922 3923 <p>There is no <code class="highlighted php"><span class="st_h">'DISALLOWED_AFTER'</span></code> setting with the <code class="highlighted php"><span class="st_h">'COMMENTS'</span></code>-<strong>PARSER_CONTROL</strong>.</p> 3924 3925 </div> 3926 3927 <p>Another <strong>PARSER_CONTROL</strong> setting for the environment around certain syntactic constructs refers to the handling of object-oriented languages.</p> 3928 3929 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3930 <span class="xtra li2"><span class="de2">2</span></span>3 3931 <span class="xtra li2"><span class="de2">4</span></span>5 3932 <span class="xtra li2"><span class="de2">6</span></span>7 3933 </pre></td><td class="de1"><pre class="de1"> <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> 3934 <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> 3935 <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> 3936 <span class="xtra li2"><span class="de2"> <span class="br0">)</span></span></span> <span class="br0">)</span></pre></td></tr></tbody></table> 3937 3938 <div class="caution"> 3939 3940 <div class="caution-header">Caution:</div> 3941 3942 <p>Please note that the settings discussed in this section are experimental and might be changed, removed or altered in their meaning at any time.</p> 3943 3944 </div> 3945 3946 <h4 id="language-file-tidying-up">4.3.12 Tidying Up</h4><div class="nav"><a href="#language-file-parser-control">Previous</a> | <a href="#language-file-sections">Top</a> | <a href="#lang-validation">Next</a></div> 3947 3948 <p>All language files should end with:</p> 3949 3950 <table class="php geshicode" style="font-family:monospace;"><thead><tr><td colspan="2" class="head">PHP code</td></tr></thead><tbody><tr class="li1"><td class="ln"><pre class="de1">1 3951 <span class="xtra li2"><span class="de2">2</span></span>3 3952 </pre></td><td class="de1"><pre class="de1"><span class="br0">)</span><span class="sy0">;</span> 3953 <span class="xtra li2"><span class="de2"> </span></span><span class="sy1">?></span></pre></td></tr></tbody></table> 3954 3955 <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> 3956 3957 <div class="caution"> 3958 3959 <div class="caution-header">Caution:</div> 3960 3961 <p>Make sure that there is EXACTLY one linebreak character at the end. If you accidentially include more 3962 you might end up with messages like “Headers already sent”.</p> 3963 3964 </div> 3965 3966 <h3 id="lang-validation">4.4 Validating your language file</h3><div class="nav"><a href="#language-file-tidying-up">Previous</a> | <a href="#language-files">Top</a> | <a href="#method-constant-reference">Next</a></div> 3967 3968 <p>Since <abbr title="Generic Syntax Highlighter">GeSHi</abbr> 1.0.8 there is a new script <code>langcheck.php</code> in the contrib directory that scans all 3969 language files it finds in the geshi/ subdirectory of the <abbr title="Generic Syntax Highlighter">GeSHi</abbr> installation for mistakes.</p> 3970 3971 <p>Please make sure that your language does not contain any mistakes that this script shows you when sending in 3972 your language file for inclusion into the official release as this saves work for us when including your file. 3973 Also you can be sure your language file will work as expected once your language file validates correctly.</p> 3974 3975 <p>Please note that not all of the language files shipped with <abbr title="Generic Syntax Highlighter">GeSHi</abbr> are fully valid yet, but we’re working on it 3976 and are happy about every patch we get!</p> 3977 3978 <h2 id="method-constant-reference">5 Method/Constant Reference</h2><div class="nav"><a href="#lang-validation">Previous</a></div> 3979 3980 <p>I’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 3981 the sourcecode in the <a href="api/index.html">api</a> directory, but have forgot to update the documentation! However, it is available, 3982 and may assist you in coding, especially for plugin coders.</p> 3983 3984 <hr /> 3985 3986 <p>That’s all, folks!</p> 3987 3988 <p>I’ve improved the documentation greatly from version 1.0.1, but there may still be problems with it, or it may still 3989 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> 3990 3991 <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 3992 thread will be of the bug-fix/add language files type. In particular, version 1.0.2 was a “concept” release - testing 3993 how far I could take the highlighting idea (as well as ideas from others).</p> 3994 3995 <p>I’m planning a code rewrite for 1.2.X, which will be based on a new engine - a “psuedo-tokenizer” engine. Hopefully 3996 it will massively reduce the server load and time taken (by almost eliminating regexps), while providing 3997 superior highlighting. But fear not! The interface and method names should all remain the same ^_^ (though I can’t 3998 say the same for language files!)</p> 3999 4000 <p>And finally, a couple of people have been asking me: how did you generate that documentation? The amazing answer is: my 4001 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 4002 you like, though flick me an e-mail if you do.</p> 4003 4004 <p>Anyway, enough blather from me. Get <abbr title="Generic Syntax Highlighter">GeSHi</abbr> working for you already! :D</p> 4005 4006 <div class="header"> 4007 4008 <dl> 4009 <dt>Authors:</dt> 4010 <dd>© 2004 - 2007 <a href="mailto:nigel (a] geshi.org">Nigel McNie</a></dd> 4011 4012 <dd>© 2007 - 2008 <a href="mailto:BenBE (a] omorphia.de">Benny Baumann</a></dd> 4013 4014 <dd>© 2008 <a href="mailto:mail (a] milianw.de">Milian Wolff</a></dd> 4015 4016 <dt><abbr title="Generic Syntax Highlighter">GeSHi</abbr> Website:</dt> 4017 <dd><a href="http://qbnz.com/highlighter">http://qbnz.com/highlighter</a></dd> 4018 </dl> 4019 4020 </div> 4021 4022 <div class="footnotes"> 4023 <hr /> 4024 <ol> 4025 4026 <li id="fn:xhtml-strict"> 4027 <p>The PRE header (see <a href="#the-code-container">The Code Container</a>) is not valid <abbr title="Hypertext Markup Language">HTML</abbr>, you might want 4028 to use one of the other header types instead. <a href="#fnref:xhtml-strict" rev="footnote">↩</a></p> 4029 </li> 4030 4031 <li id="fn:php-version-note"> 4032 <p>Support is granted for <abbr title="PHP: HTML Preprocessor">PHP</abbr> 4.3.0 and above, but especially 4.3.x cannot be guaranteed to 4033 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 4034 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 4035 is verified to work. <a href="#fnref:php-version-note" rev="footnote">↩</a></p> 4036 </li> 4037 4038 <li id="fn:phpbb-note"> 4039 <p>I am no longer working on this MOD, however if someone else wants to they can contact me for more 4040 information. <a href="#fnref:phpbb-note" rev="footnote">↩</a></p> 4041 </li> 4042 4043 <li id="fn:plugin-only"> 4044 <p>Available as plugin only. In addition, some of the other entries mentioned 4045 here may only have <abbr title="Generic Syntax Highlighter">GeSHi</abbr> available as a plugin. <a href="#fnref:plugin-only" rev="footnote">↩</a></p> 4046 </li> 4047 4048 </ol> 4049 </div> 4050 </body> 4051 </html>