1/* 2Language: PHP 3Author: Victor Karamzin <Victor.Karamzin@enterra-inc.com> 4*/ 5 6hljs.LANGUAGES.php = { 7 defaultMode: { 8 lexems: [hljs.IDENT_RE], 9 contains: ['comment', 'number', 'string', 'variable', 'preprocessor'], 10 keywords: {'and': 1, 'include_once': 1, 'list': 1, 'abstract': 1, 'global': 1, 'private': 1, 'echo': 1, 'interface': 1, 'as': 1, 'static': 1, 'endswitch': 1, 'array': 1, 'null': 1, 'if': 1, 'endwhile': 1, 'or': 1, 'const': 1, 'for': 1, 'endforeach': 1, 'self': 1, 'var': 1, 'while': 1, 'isset': 1, 'public': 1, 'protected': 1, 'exit': 1, 'foreach': 1, 'throw': 1, 'elseif': 1, 'extends': 1, 'include': 1, '__FILE__': 1, 'empty': 1, 'require_once': 1, 'function': 1, 'do': 1, 'xor': 1, 'return': 1, 'implements': 1, 'parent': 1, 'clone': 1, 'use': 1, '__CLASS__': 1, '__LINE__': 1, 'else': 1, 'break': 1, 'print': 1, 'eval': 1, 'new': 1, 'catch': 1, '__METHOD__': 1, 'class': 1, 'case': 1, 'exception': 1, 'php_user_filter': 1, 'default': 1, 'die': 1, 'require': 1, '__FUNCTION__': 1, 'enddeclare': 1, 'final': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'endfor': 1, 'endif': 1, 'declare': 1, 'unset': 1} 11 }, 12 case_insensitive: true, 13 modes: [ 14 hljs.C_LINE_COMMENT_MODE, 15 hljs.HASH_COMMENT_MODE, 16 { 17 className: 'comment', 18 begin: '/\\*', end: '\\*/', 19 contains: ['phpdoc'] 20 }, 21 { 22 className: 'phpdoc', 23 begin: '\\s@[A-Za-z]+', end: '^', 24 relevance: 10 25 }, 26 hljs.C_NUMBER_MODE, 27 { 28 className: 'string', 29 begin: '\'', end: '\'', 30 contains: ['escape'], 31 relevance: 0 32 }, 33 { 34 className: 'string', 35 begin: '"', end: '"', 36 contains: ['escape'], 37 relevance: 0 38 }, 39 hljs.BACKSLASH_ESCAPE, 40 { 41 className: 'variable', 42 begin: '\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*', end: '^' 43 }, 44 { 45 className: 'preprocessor', 46 begin: '<\\?php', end: '^', 47 relevance: 10 48 }, 49 { 50 className: 'preprocessor', 51 begin: '\\?>', end: '^' 52 } 53 ] 54}; 55