1<?php 2/************************************************************************************* 3 * html4strict.php 4 * --------------- 5 * Author: Nigel McNie (nigel@geshi.org) 6 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) 7 * Release Version: 1.0.9.1 8 * Date Started: 2004/07/10 9 * 10 * HTML 4.01 strict language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2005/12/28 (1.0.4) 15 * - Removed escape character for strings 16 * 2004/11/27 (1.0.3) 17 * - Added support for multiple object splitters 18 * 2004/10/27 (1.0.2) 19 * - Added support for URLs 20 * 2004/08/05 (1.0.1) 21 * - Added INS and DEL 22 * - Removed the background colour from tags' styles 23 * 2004/07/14 (1.0.0) 24 * - First Release 25 * 26 * TODO (updated 2004/11/27) 27 * ------------------------- 28 * * Check that only HTML4 strict attributes are highlighted 29 * * Eliminate empty tags that aren't allowed in HTML4 strict 30 * * Split to several files - html4trans, xhtml1 etc 31 * 32 ************************************************************************************* 33 * 34 * This file is part of GeSHi. 35 * 36 * GeSHi is free software; you can redistribute it and/or modify 37 * it under the terms of the GNU General Public License as published by 38 * the Free Software Foundation; either version 2 of the License, or 39 * (at your option) any later version. 40 * 41 * GeSHi is distributed in the hope that it will be useful, 42 * but WITHOUT ANY WARRANTY; without even the implied warranty of 43 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 44 * GNU General Public License for more details. 45 * 46 * You should have received a copy of the GNU General Public License 47 * along with GeSHi; if not, write to the Free Software 48 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 49 * 50 ************************************************************************************/ 51 52$language_data = array ( 53 'LANG_NAME' => 'HTML', 54 'COMMENT_SINGLE' => array(), 55 'COMMENT_MULTI' => array(), 56 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 57 'QUOTEMARKS' => array("'", '"'), 58 'ESCAPE_CHAR' => '', 59 'KEYWORDS' => array( 60 2 => array( 61 'a', 'abbr', 'acronym', 'address', 'applet', 'area', 62 'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b', 63 'caption', 'center', 'cite', 'code', 'colgroup', 'col', 64 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 65 'em', 66 'fieldset', 'font', 'form', 'frame', 'frameset', 67 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 68 'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i', 69 'kbd', 70 'label', 'legend', 'link', 'li', 71 'map', 'meta', 72 'noframes', 'noscript', 73 'object', 'ol', 'optgroup', 'option', 74 'param', 'pre', 'p', 75 'q', 76 'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's', 77 'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt', 78 'ul', 'u', 79 'var', 80 ), 81 3 => array( 82 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis', 83 'background', 'bgcolor', 'border', 84 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords', 85 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled', 86 'enctype', 87 'face', 'for', 'frame', 'frameborder', 88 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv', 89 'id', 'ismap', 90 'label', 'lang', 'language', 'link', 'longdesc', 91 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple', 92 'name', 'nohref', 'noresize', 'noshade', 'nowrap', 93 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload', 94 'profile', 'prompt', 95 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules', 96 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary', 97 'tabindex', 'target', 'text', 'title', 'type', 98 'usemap', 99 'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace', 100 'width' 101 ) 102 ), 103 'SYMBOLS' => array( 104 '/', '=' 105 ), 106 'CASE_SENSITIVE' => array( 107 GESHI_COMMENTS => false, 108 2 => false, 109 3 => false, 110 ), 111 'STYLES' => array( 112 'KEYWORDS' => array( 113 2 => 'color: #000000; font-weight: bold;', 114 3 => 'color: #000066;' 115 ), 116 'COMMENTS' => array( 117 ), 118 'ESCAPE_CHAR' => array( 119 0 => 'color: #000099; font-weight: bold;' 120 ), 121 'BRACKETS' => array( 122 0 => 'color: #66cc66;' 123 ), 124 'STRINGS' => array( 125 0 => 'color: #ff0000;' 126 ), 127 'NUMBERS' => array( 128 0 => 'color: #cc66cc;' 129 ), 130 'METHODS' => array( 131 ), 132 'SYMBOLS' => array( 133 0 => 'color: #66cc66;' 134 ), 135 'SCRIPT' => array( 136 -2 => 'color: #404040;', // CDATA 137 -1 => 'color: #808080; font-style: italic;', // comments 138 0 => 'color: #00bbdd;', 139 1 => 'color: #ddbb00;', 140 2 => 'color: #009900;' 141 ), 142 'REGEXPS' => array( 143 ) 144 ), 145 'URLS' => array( 146 2 => 'http://december.com/html/4/element/{FNAMEL}.html', 147 3 => '' 148 ), 149 'OOLANG' => false, 150 'OBJECT_SPLITTERS' => array( 151 ), 152 'REGEXPS' => array( 153 ), 154 'STRICT_MODE_APPLIES' => GESHI_ALWAYS, 155 'SCRIPT_DELIMITERS' => array( 156 -2 => array( 157 '<![CDATA[' => ']]>' 158 ), 159 -1 => array( 160 '<!--' => '-->' 161 ), 162 0 => array( 163 '<!DOCTYPE' => '>' 164 ), 165 1 => array( 166 '&' => ';' 167 ), 168 2 => array( 169 '<' => '>' 170 ) 171 ), 172 'HIGHLIGHT_STRICT_BLOCK' => array( 173 -2 => false, 174 -1 => false, 175 0 => false, 176 1 => false, 177 2 => true 178 ), 179 'TAB_WIDTH' => 4, 180 'PARSER_CONTROL' => array( 181 'KEYWORDS' => array( 182 2 => array( 183 'DISALLOWED_BEFORE' => '(?<=<|<\/)', 184 'DISALLOWED_AFTER' => '(?=\s|\/|>)', 185 ) 186 ) 187 ) 188); 189