plugins/geshi/geshi/php.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
--- a/plugins/geshi/geshi/php.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/php.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * PHP language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/25 (1.0.3)
  *  -  Added support for multiple object splitters
  *  -  Fixed &new problem
@@ -52,9 +54,34 @@
     'LANG_NAME' => 'PHP',
     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
     'COMMENT_MULTI' => array('/*' => '*/'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'COMMENT_REGEXP' => array(
+        //Heredoc and Nowdoc syntax
+        3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        // phpdoc comments
+        4 => '#/\*\*(?![\*\/]).*\*/#sU'
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-    'QUOTEMARKS' => array("'", '"'),
-    'ESCAPE_CHAR' => '\\',
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{1,2}#i",
+        //Octal Char Specs
+        3 => "#\\\\[0-7]{1,3}#",
+        //String Parsing of Variable Names
+        4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",
+        //Experimental extension supporting cascaded {${$var}} syntax
+        5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",
+        //Format String support in ""-Strings
+        6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |  GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_SCI_ZERO,
     'KEYWORDS' => array(
         1 => array(
             'include', 'require', 'include_once', 'require_once',
@@ -63,202 +90,411 @@
             'return', 'break', 'continue'
             ),
         2 => array(
-            'null', '__LINE__', '__FILE__',
-            'false', '&lt;?php', '?&gt;', '&lt;?',
-            '&lt;script language', '&lt;/script&gt;',
-            'true', 'var', 'default',
-            'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
-            '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
-            'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
-            'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
-            'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
-            'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
-            'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
-            'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
+            '&amp;new', '&lt;/script&gt;', '&lt;?php',
+            '&lt;script language', 'class', 'const',
+            'default', 'DEFAULT_INCLUDE_PATH', 'extends',
+            'E_ALL', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING',
+            'E_CORE_ERROR', 'E_CORE_WARNING', 'E_ERROR',
+            'E_NOTICE', 'E_PARSE', 'E_STRICT', 'E_USER_ERROR',
+            'E_USER_NOTICE', 'E_USER_WARNING', 'E_WARNING',
+            'false', 'function', 'interface', 'new', 'null',
+            'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR',
+            'PHP_BINDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR',
+            'PHP_EXTENSION_DIR', 'PHP_LIBDIR',
+            'PHP_LOCALSTATEDIR', 'PHP_OS',
+            'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',
+            'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR',
+            'PHP_VERSION', 'private', 'public', 'self', 'true',
+            'var', '__CLASS__', '__FILE__', '__FUNCTION__',
+            '__LINE__', '__METHOD__'
             ),
         3 => array(
-            'zlib_get_coding_type','zend_version','zend_logo_guid','yp_order','yp_next',
-            'yp_match','yp_master','yp_get_default_domain','yp_first','yp_errno','yp_err_string',
-            'yp_cat','yp_all','xml_set_unparsed_entity_decl_handler','xml_set_start_namespace_decl_handler','xml_set_processing_instruction_handler','xml_set_object',
-            'xml_set_notation_decl_handler','xml_set_external_entity_ref_handler','xml_set_end_namespace_decl_handler','xml_set_element_handler','xml_set_default_handler','xml_set_character_data_handler',
-            'xml_parser_set_option','xml_parser_get_option','xml_parser_free','xml_parser_create_ns','xml_parser_create','xml_parse_into_struct',
-            'xml_parse','xml_get_error_code','xml_get_current_line_number','xml_get_current_column_number','xml_get_current_byte_index','xml_error_string',
-            'wordwrap','wddx_serialize_vars','wddx_serialize_value','wddx_packet_start','wddx_packet_end','wddx_deserialize',
-            'wddx_add_vars','vsprintf','vprintf','virtual','version_compare','var_export',
-            'var_dump','utf8_encode','utf8_decode','usort','usleep','user_error',
-            'urlencode','urldecode','unserialize','unregister_tick_function','unpack','unlink',
-            'unixtojd','uniqid','umask','uksort','ucwords','ucfirst',
-            'uasort','trim','trigger_error','touch','token_name','token_get_all',
-            'tmpfile','time','textdomain','tempnam','tanh','tan',
-            'system','syslog','symlink','substr_replace','substr_count','substr',
-            'strval','strtr','strtoupper','strtotime','strtolower','strtok',
-            'strstr','strspn','strrpos','strrev','strrchr','strpos',
-            'strncmp','strncasecmp','strnatcmp','strnatcasecmp','strlen','stristr',
-            'stripslashes','stripcslashes','strip_tags','strftime','stream_wrapper_register','stream_set_write_buffer',
-            'stream_set_timeout','stream_set_blocking','stream_select','stream_register_wrapper','stream_get_meta_data','stream_filter_prepend',
-            'stream_filter_append','stream_context_set_params','stream_context_set_option','stream_context_get_options','stream_context_create','strcspn',
-            'strcoll','strcmp','strchr','strcasecmp','str_word_count','str_shuffle',
-            'str_rot13','str_replace','str_repeat','str_pad','stat','sscanf',
-            'srand','sqrt','sql_regcase','sprintf','spliti','split',
-            'soundex','sort','socket_writev','socket_write','socket_strerror','socket_shutdown',
-            'socket_setopt','socket_set_timeout','socket_set_option','socket_set_nonblock','socket_set_blocking','socket_set_block',
-            'socket_sendto','socket_sendmsg','socket_send','socket_select','socket_recvmsg','socket_recvfrom',
-            'socket_recv','socket_readv','socket_read','socket_listen','socket_last_error','socket_iovec_set',
-            'socket_iovec_free','socket_iovec_fetch','socket_iovec_delete','socket_iovec_alloc','socket_iovec_add','socket_getsockname',
-            'socket_getpeername','socket_getopt','socket_get_status','socket_get_option','socket_create_pair','socket_create_listen',
-            'socket_create','socket_connect','socket_close','socket_clear_error','socket_bind','socket_accept',
-            'sleep','sizeof','sinh','sin','similar_text','shuffle',
-            'show_source','shmop_write','shmop_size','shmop_read','shmop_open','shmop_delete',
-            'shmop_close','shm_remove_var','shm_remove','shm_put_var','shm_get_var','shm_detach',
-            'shm_attach','shell_exec','sha1_file','sha1','settype','setlocale',
-            'setcookie','set_time_limit','set_socket_blocking','set_magic_quotes_runtime','set_include_path','set_file_buffer',
-            'set_error_handler','session_write_close','session_unset','session_unregister','session_start','session_set_save_handler',
-            'session_set_cookie_params','session_save_path','session_register','session_regenerate_id','session_name','session_module_name',
-            'session_is_registered','session_id','session_get_cookie_params','session_encode','session_destroy','session_decode',
-            'session_cache_limiter','session_cache_expire','serialize','sem_remove','sem_release','sem_get',
-            'sem_acquire','rtrim','rsort','round','rmdir','rewinddir',
-            'rewind','restore_include_path','restore_error_handler','reset','rename','register_tick_function',
-            'register_shutdown_function','realpath','readlink','readgzfile','readfile','readdir',
-            'read_exif_data','rawurlencode','rawurldecode','range','rand','rad2deg',
-            'quotemeta','quoted_printable_decode','putenv','proc_open','proc_close','printf',
-            'print_r','prev','preg_split','preg_replace_callback','preg_replace','preg_quote',
-            'preg_match_all','preg_match','preg_grep','pow','posix_uname','posix_ttyname',
-            'posix_times','posix_strerror','posix_setuid','posix_setsid','posix_setpgid','posix_setgid',
-            'posix_seteuid','posix_setegid','posix_mkfifo','posix_kill','posix_isatty','posix_getuid',
-            'posix_getsid','posix_getrlimit','posix_getpwuid','posix_getpwnam','posix_getppid','posix_getpid',
-            'posix_getpgrp','posix_getpgid','posix_getlogin','posix_getgroups','posix_getgrnam','posix_getgrgid',
-            'posix_getgid','posix_geteuid','posix_getegid','posix_getcwd','posix_get_last_error','posix_errno',
-            'posix_ctermid','pos','popen','pi','phpversion','phpinfo',
-            'phpcredits','php_uname','php_sapi_name','php_logo_guid','php_ini_scanned_files','pg_update',
-            'pg_untrace','pg_unescape_bytea','pg_tty','pg_trace','pg_setclientencoding','pg_set_client_encoding',
-            'pg_send_query','pg_select','pg_result_status','pg_result_seek','pg_result_error','pg_result',
-            'pg_query','pg_put_line','pg_port','pg_ping','pg_pconnect','pg_options',
-            'pg_numrows','pg_numfields','pg_num_rows','pg_num_fields','pg_meta_data','pg_lowrite',
-            'pg_lounlink','pg_loreadall','pg_loread','pg_loopen','pg_loimport','pg_loexport',
-            'pg_locreate','pg_loclose','pg_lo_write','pg_lo_unlink','pg_lo_tell','pg_lo_seek',
-            'pg_lo_read_all','pg_lo_read','pg_lo_open','pg_lo_import','pg_lo_export','pg_lo_create',
-            'pg_lo_close','pg_last_oid','pg_last_notice','pg_last_error','pg_insert','pg_host',
-            'pg_getlastoid','pg_get_result','pg_get_pid','pg_get_notify','pg_freeresult','pg_free_result',
-            'pg_fieldtype','pg_fieldsize','pg_fieldprtlen','pg_fieldnum','pg_fieldname','pg_fieldisnull',
-            'pg_field_type','pg_field_size','pg_field_prtlen','pg_field_num','pg_field_name','pg_field_is_null',
-            'pg_fetch_row','pg_fetch_result','pg_fetch_object','pg_fetch_assoc','pg_fetch_array','pg_fetch_all',
-            'pg_exec','pg_escape_string','pg_escape_bytea','pg_errormessage','pg_end_copy','pg_delete',
-            'pg_dbname','pg_copy_to','pg_copy_from','pg_convert','pg_connection_status','pg_connection_reset',
-            'pg_connection_busy','pg_connect','pg_cmdtuples','pg_close','pg_clientencoding','pg_client_encoding',
-            'pg_cancel_query','pg_affected_rows','pfsockopen','pclose','pathinfo','passthru',
-            'parse_url','parse_str','parse_ini_file','pack','overload','output_reset_rewrite_vars',
-            'output_add_rewrite_var','ord','openssl_x509_read','openssl_x509_parse','openssl_x509_free','openssl_x509_export_to_file',
-            'openssl_x509_export','openssl_x509_checkpurpose','openssl_x509_check_private_key','openssl_verify','openssl_sign','openssl_seal',
-            'openssl_public_encrypt','openssl_public_decrypt','openssl_private_encrypt','openssl_private_decrypt','openssl_pkey_new','openssl_pkey_get_public',
-            'openssl_pkey_get_private','openssl_pkey_free','openssl_pkey_export_to_file','openssl_pkey_export','openssl_pkcs7_verify','openssl_pkcs7_sign',
-            'openssl_pkcs7_encrypt','openssl_pkcs7_decrypt','openssl_open','openssl_get_publickey','openssl_get_privatekey','openssl_free_key',
-            'openssl_error_string','openssl_csr_sign','openssl_csr_new','openssl_csr_export_to_file','openssl_csr_export','openlog',
-            'opendir','octdec','ob_start','ob_list_handlers','ob_implicit_flush','ob_iconv_handler',
-            'ob_gzhandler','ob_get_status','ob_get_level','ob_get_length','ob_get_flush','ob_get_contents',
-            'ob_get_clean','ob_flush','ob_end_flush','ob_end_clean','ob_clean','number_format',
-            'nl_langinfo','nl2br','ngettext','next','natsort','natcasesort',
-            'mysql_unbuffered_query','mysql_thread_id','mysql_tablename','mysql_table_name','mysql_stat','mysql_selectdb',
-            'mysql_select_db','mysql_result','mysql_real_escape_string','mysql_query','mysql_ping','mysql_pconnect',
-            'mysql_numrows','mysql_numfields','mysql_num_rows','mysql_num_fields','mysql_listtables','mysql_listfields',
-            'mysql_listdbs','mysql_list_tables','mysql_list_processes','mysql_list_fields','mysql_list_dbs','mysql_insert_id',
-            'mysql_info','mysql_get_server_info','mysql_get_proto_info','mysql_get_host_info','mysql_get_client_info','mysql_freeresult',
-            'mysql_free_result','mysql_fieldtype','mysql_fieldtable','mysql_fieldname','mysql_fieldlen','mysql_fieldflags',
-            'mysql_field_type','mysql_field_table','mysql_field_seek','mysql_field_name','mysql_field_len','mysql_field_flags',
-            'mysql_fetch_row','mysql_fetch_object','mysql_fetch_lengths','mysql_fetch_field','mysql_fetch_assoc','mysql_fetch_array',
-            'mysql_escape_string','mysql_error','mysql_errno','mysql_dropdb','mysql_drop_db','mysql_dbname',
-            'mysql_db_query','mysql_db_name','mysql_data_seek','mysql_createdb','mysql_create_db','mysql_connect',
-            'mysql_close','mysql_client_encoding','mysql_affected_rows','mysql','mt_srand','mt_rand',
-            'mt_getrandmax','move_uploaded_file','money_format','mktime','mkdir','min',
-            'microtime','method_exists','metaphone','memory_get_usage','md5_file','md5',
-            'mbsubstr','mbstrrpos','mbstrpos','mbstrlen','mbstrcut','mbsplit',
-            'mbregex_encoding','mberegi_replace','mberegi','mbereg_search_setpos','mbereg_search_regs','mbereg_search_pos',
-            'mbereg_search_init','mbereg_search_getregs','mbereg_search_getpos','mbereg_search','mbereg_replace','mbereg_match',
-            'mbereg','mb_substr_count','mb_substr','mb_substitute_character','mb_strwidth','mb_strtoupper',
-            'mb_strtolower','mb_strrpos','mb_strpos','mb_strlen','mb_strimwidth','mb_strcut',
-            'mb_split','mb_send_mail','mb_regex_set_options','mb_regex_encoding','mb_preferred_mime_name','mb_parse_str',
-            'mb_output_handler','mb_language','mb_internal_encoding','mb_http_output','mb_http_input','mb_get_info',
-            'mb_eregi_replace','mb_eregi','mb_ereg_search_setpos','mb_ereg_search_regs','mb_ereg_search_pos','mb_ereg_search_init',
-            'mb_ereg_search_getregs','mb_ereg_search_getpos','mb_ereg_search','mb_ereg_replace','mb_ereg_match','mb_ereg',
-            'mb_encode_numericentity','mb_encode_mimeheader','mb_detect_order','mb_detect_encoding','mb_decode_numericentity','mb_decode_mimeheader',
-            'mb_convert_variables','mb_convert_kana','mb_convert_encoding','mb_convert_case','max','mail',
-            'magic_quotes_runtime','ltrim','lstat','long2ip','log1p','log10',
-            'log','localtime','localeconv','linkinfo','link','levenshtein',
-            'lcg_value','ksort','krsort','key_exists','key','juliantojd',
-            'join','jewishtojd','jdtounix','jdtojulian','jdtojewish','jdtogregorian',
-            'jdtofrench','jdmonthname','jddayofweek','is_writeable','is_writable','is_uploaded_file',
-            'is_subclass_of','is_string','is_scalar','is_resource','is_real','is_readable',
-            'is_object','is_numeric','is_null','is_nan','is_long','is_link',
-            'is_integer','is_int','is_infinite','is_float','is_finite','is_file',
-            'is_executable','is_double','is_dir','is_callable','is_bool','is_array',
-            'is_a','iptcparse','iptcembed','ip2long','intval','ini_set',
-            'ini_restore','ini_get_all','ini_get','ini_alter','in_array','import_request_variables',
-            'implode','image_type_to_mime_type','ignore_user_abort','iconv_set_encoding','iconv_get_encoding','iconv',
-            'i18n_mime_header_encode','i18n_mime_header_decode','i18n_ja_jp_hantozen','i18n_internal_encoding','i18n_http_output','i18n_http_input',
-            'i18n_discover_encoding','i18n_convert','hypot','htmlspecialchars','htmlentities','html_entity_decode',
-            'highlight_string','highlight_file','hexdec','hebrevc','hebrev','headers_sent',
-            'header','gzwrite','gzuncompress','gztell','gzseek','gzrewind',
-            'gzread','gzputs','gzpassthru','gzopen','gzinflate','gzgetss',
-            'gzgets','gzgetc','gzfile','gzeof','gzencode','gzdeflate',
-            'gzcompress','gzclose','gregoriantojd','gmstrftime','gmmktime','gmdate',
-            'glob','gettype','gettimeofday','gettext','getservbyport','getservbyname',
-            'getrusage','getrandmax','getprotobynumber','getprotobyname','getopt','getmyuid',
-            'getmypid','getmyinode','getmygid','getmxrr','getlastmod','getimagesize',
-            'gethostbynamel','gethostbyname','gethostbyaddr','getenv','getdate','getcwd',
-            'getallheaders','get_resource_type','get_required_files','get_parent_class','get_object_vars','get_meta_tags',
-            'get_magic_quotes_runtime','get_magic_quotes_gpc','get_loaded_extensions','get_included_files','get_include_path','get_html_translation_table',
-            'get_extension_funcs','get_defined_vars','get_defined_functions','get_defined_constants','get_declared_classes','get_current_user',
-            'get_class_vars','get_class_methods','get_class','get_cfg_var','get_browser','fwrite',
-            'function_exists','func_num_args','func_get_args','func_get_arg','ftruncate','ftp_systype',
-            'ftp_ssl_connect','ftp_size','ftp_site','ftp_set_option','ftp_rmdir','ftp_rename',
-            'ftp_rawlist','ftp_quit','ftp_pwd','ftp_put','ftp_pasv','ftp_nlist',
-            'ftp_nb_put','ftp_nb_get','ftp_nb_fput','ftp_nb_fget','ftp_nb_continue','ftp_mkdir',
-            'ftp_mdtm','ftp_login','ftp_get_option','ftp_get','ftp_fput','ftp_fget',
-            'ftp_exec','ftp_delete','ftp_connect','ftp_close','ftp_chdir','ftp_cdup',
-            'ftok','ftell','fstat','fsockopen','fseek','fscanf',
-            'frenchtojd','fread','fputs','fpassthru','fopen','fnmatch',
-            'fmod','flush','floor','flock','floatval','filetype',
-            'filesize','filepro_rowcount','filepro_retrieve','filepro_fieldwidth','filepro_fieldtype','filepro_fieldname',
-            'filepro_fieldcount','filepro','fileperms','fileowner','filemtime','fileinode',
-            'filegroup','filectime','fileatime','file_get_contents','file_exists','file',
-            'fgetss','fgets','fgetcsv','fgetc','fflush','feof',
-            'fclose','ezmlm_hash','extract','extension_loaded','expm1','explode',
-            'exp','exif_thumbnail','exif_tagname','exif_read_data','exif_imagetype','exec',
-            'escapeshellcmd','escapeshellarg','error_reporting','error_log','eregi_replace','eregi',
-            'ereg_replace','ereg','end','easter_days','easter_date','each',
-            'doubleval','dngettext','dl','diskfreespace','disk_total_space','disk_free_space',
-            'dirname','dir','dgettext','deg2rad','defined','define_syslog_variables',
-            'define','decoct','dechex','decbin','debug_zval_dump','debug_backtrace',
-            'deaggregate','dcngettext','dcgettext','dba_sync','dba_replace','dba_popen',
-            'dba_optimize','dba_open','dba_nextkey','dba_list','dba_insert','dba_handlers',
-            'dba_firstkey','dba_fetch','dba_exists','dba_delete','dba_close','date',
-            'current','ctype_xdigit','ctype_upper','ctype_space','ctype_punct','ctype_print',
-            'ctype_lower','ctype_graph','ctype_digit','ctype_cntrl','ctype_alpha','ctype_alnum',
-            'crypt','create_function','crc32','count_chars','count','cosh',
-            'cos','copy','convert_cyr_string','constant','connection_status','connection_aborted',
-            'compact','closelog','closedir','clearstatcache','class_exists','chunk_split',
-            'chr','chown','chop','chmod','chgrp','checkdnsrr',
-            'checkdate','chdir','ceil','call_user_method_array','call_user_method','call_user_func_array',
-            'call_user_func','cal_to_jd','cal_info','cal_from_jd','cal_days_in_month','bzwrite',
-            'bzread','bzopen','bzflush','bzerrstr','bzerror','bzerrno',
-            'bzdecompress','bzcompress','bzclose','bindtextdomain','bindec','bind_textdomain_codeset',
-            'bin2hex','bcsub','bcsqrt','bcscale','bcpow','bcmul',
-            'bcmod','bcdiv','bccomp','bcadd','basename','base_convert',
-            'base64_encode','base64_decode','atanh','atan2','atan','assert_options',
-            'assert','asort','asinh','asin','arsort','array_walk',
-            'array_values','array_unshift','array_unique','array_sum','array_splice','array_slice',
-            'array_shift','array_search','array_reverse','array_reduce','array_rand','array_push',
-            'array_pop','array_pad','array_multisort','array_merge_recursive','array_merge','array_map',
-            'array_keys','array_key_exists','array_intersect_assoc','array_intersect','array_flip','array_filter',
-            'array_fill','array_diff_assoc','array_diff','array_count_values','array_chunk','array_change_key_case',
-            'apache_setenv','apache_response_headers','apache_request_headers','apache_note','apache_lookup_uri','apache_get_version',
-            'apache_child_terminate','aggregation_info','aggregate_properties_by_regexp','aggregate_properties_by_list','aggregate_properties','aggregate_methods_by_regexp',
-            'aggregate_methods_by_list','aggregate_methods','aggregate','addslashes','addcslashes','acosh',
-            'acos','abs','_','echo', 'print', 'global', 'static', 'exit', 'array', 'empty',
-            'eval', 'isset', 'unset', 'die', 'list'
+            'abs', 'acos', 'acosh', 'addcslashes', 'addslashes', 'aggregate',
+            'aggregate_methods', 'aggregate_methods_by_list',
+            'aggregate_methods_by_regexp',
+            'aggregate_properties',
+            'aggregate_properties_by_list',
+            'aggregate_properties_by_regexp', 'aggregation_info',
+            'apache_child_terminate', 'apache_get_version',
+            'apache_lookup_uri', 'apache_note',
+            'apache_request_headers', 'apache_response_headers',
+            'apache_setenv', 'array', 'array_change_key_case',
+            'array_chunk', 'array_count_values', 'array_diff',
+            'array_diff_assoc', 'array_fill', 'array_filter',
+            'array_flip', 'array_intersect',
+            'array_intersect_assoc', 'array_keys',
+            'array_key_exists', 'array_map', 'array_merge',
+            'array_merge_recursive', 'array_multisort',
+            'array_pad', 'array_pop', 'array_push', 'array_rand',
+            'array_reduce', 'array_reverse', 'array_search',
+            'array_shift', 'array_slice', 'array_splice',
+            'array_sum', 'array_unique', 'array_unshift',
+            'array_values', 'array_walk', 'arsort', 'asin',
+            'asinh', 'asort', 'assert', 'assert_options', 'atan',
+            'atan2', 'atanh', 'base64_decode', 'base64_encode',
+            'basename', 'base_convert', 'bcadd', 'bccomp',
+            'bcdiv', 'bcmod', 'bcmul', 'bcpow', 'bcscale',
+            'bcsqrt', 'bcsub', 'bin2hex', 'bindec',
+            'bindtextdomain', 'bind_textdomain_codeset',
+            'bzclose', 'bzcompress', 'bzdecompress', 'bzerrno',
+            'bzerror', 'bzerrstr', 'bzflush', 'bzopen', 'bzread',
+            'bzwrite', 'call_user_func', 'call_user_func_array',
+            'call_user_method', 'call_user_method_array',
+            'cal_days_in_month', 'cal_from_jd', 'cal_info',
+            'cal_to_jd', 'ceil', 'chdir', 'checkdate',
+            'checkdnsrr', 'chgrp', 'chmod', 'chop', 'chown',
+            'chr', 'chunk_split', 'class_exists',
+            'clearstatcache', 'closedir', 'closelog', 'compact',
+            'connection_aborted', 'connection_status',
+            'constant', 'convert_cyr_string', 'copy', 'cos',
+            'cosh', 'count', 'count_chars', 'crc32',
+            'create_function', 'crypt', 'ctype_alnum',
+            'ctype_alpha', 'ctype_cntrl', 'ctype_digit',
+            'ctype_graph', 'ctype_lower', 'ctype_print',
+            'ctype_punct', 'ctype_space', 'ctype_upper',
+            'ctype_xdigit', 'current', 'date', 'dba_close',
+            'dba_delete', 'dba_exists', 'dba_fetch',
+            'dba_firstkey', 'dba_handlers', 'dba_insert',
+            'dba_list', 'dba_nextkey', 'dba_open',
+            'dba_optimize', 'dba_popen', 'dba_replace',
+            'dba_sync', 'dcgettext', 'dcngettext', 'deaggregate',
+            'debug_backtrace', 'debug_zval_dump', 'decbin',
+            'dechex', 'decoct', 'define', 'defined',
+            'define_syslog_variables', 'deg2rad', 'dgettext',
+            'die', 'dir', 'dirname', 'diskfreespace',
+            'disk_free_space', 'disk_total_space', 'dl',
+            'dngettext', 'doubleval', 'each', 'easter_date',
+            'easter_days', 'echo', 'empty', 'end', 'ereg',
+            'eregi', 'eregi_replace', 'ereg_replace',
+            'error_log', 'error_reporting', 'escapeshellarg',
+            'escapeshellcmd', 'eval', 'exec', 'exif_imagetype',
+            'exif_read_data', 'exif_tagname', 'exif_thumbnail',
+            'exit', 'exp', 'explode', 'expm1',
+            'extension_loaded', 'extract', 'ezmlm_hash',
+            'fclose', 'feof', 'fflush', 'fgetc', 'fgetcsv',
+            'fgets', 'fgetss', 'file', 'fileatime', 'filectime',
+            'filegroup', 'fileinode', 'filemtime', 'fileowner',
+            'fileperms', 'filepro', 'filepro_fieldcount',
+            'filepro_fieldname', 'filepro_fieldtype',
+            'filepro_fieldwidth', 'filepro_retrieve',
+            'filepro_rowcount', 'filesize', 'filetype',
+            'file_exists', 'file_get_contents', 'floatval',
+            'flock', 'floor', 'flush', 'fmod', 'fnmatch',
+            'fopen', 'fpassthru', 'fputs', 'fread', 'frenchtojd',
+            'fscanf', 'fseek', 'fsockopen', 'fstat', 'ftell',
+            'ftok', 'ftp_cdup', 'ftp_chdir', 'ftp_close',
+            'ftp_connect', 'ftp_delete', 'ftp_exec', 'ftp_fget',
+            'ftp_fput', 'ftp_get', 'ftp_get_option', 'ftp_login',
+            'ftp_mdtm', 'ftp_mkdir', 'ftp_nb_continue',
+            'ftp_nb_fget', 'ftp_nb_fput', 'ftp_nb_get',
+            'ftp_nb_put', 'ftp_nlist', 'ftp_pasv', 'ftp_put',
+            'ftp_pwd', 'ftp_quit', 'ftp_rawlist', 'ftp_rename',
+            'ftp_rmdir', 'ftp_set_option', 'ftp_site',
+            'ftp_size', 'ftp_ssl_connect', 'ftp_systype',
+            'ftruncate', 'function_exists', 'func_get_arg',
+            'func_get_args', 'func_num_args', 'fwrite',
+            'getallheaders', 'getcwd', 'getdate', 'getenv',
+            'gethostbyaddr', 'gethostbyname', 'gethostbynamel',
+            'getimagesize', 'getlastmod', 'getmxrr', 'getmygid',
+            'getmyinode', 'getmypid', 'getmyuid', 'getopt',
+            'getprotobyname', 'getprotobynumber', 'getrandmax',
+            'getrusage', 'getservbyname', 'getservbyport',
+            'gettext', 'gettimeofday', 'gettype', 'get_browser',
+            'get_cfg_var', 'get_class', 'get_class_methods',
+            'get_class_vars', 'get_current_user',
+            'get_declared_classes', 'get_defined_constants',
+            'get_defined_functions', 'get_defined_vars',
+            'get_extension_funcs', 'get_html_translation_table',
+            'get_included_files', 'get_include_path',
+            'get_loaded_extensions', 'get_magic_quotes_gpc',
+            'get_magic_quotes_runtime', 'get_meta_tags',
+            'get_object_vars', 'get_parent_class',
+            'get_required_files', 'get_resource_type', 'glob',
+            'global', 'gmdate', 'gmmktime', 'gmstrftime',
+            'gregoriantojd', 'gzclose', 'gzcompress',
+            'gzdeflate', 'gzencode', 'gzeof', 'gzfile', 'gzgetc',
+            'gzgets', 'gzgetss', 'gzinflate', 'gzopen',
+            'gzpassthru', 'gzputs', 'gzread', 'gzrewind',
+            'gzseek', 'gztell', 'gzuncompress', 'gzwrite',
+            'header', 'headers_sent', 'hebrev', 'hebrevc',
+            'hexdec', 'highlight_file', 'highlight_string',
+            'htmlentities', 'htmlspecialchars',
+            'html_entity_decode', 'hypot', 'i18n_convert',
+            'i18n_discover_encoding', 'i18n_http_input',
+            'i18n_http_output', 'i18n_internal_encoding',
+            'i18n_ja_jp_hantozen', 'i18n_mime_header_decode',
+            'i18n_mime_header_encode', 'iconv',
+            'iconv_get_encoding', 'iconv_set_encoding',
+            'ignore_user_abort', 'image_type_to_mime_type',
+            'implode', 'import_request_variables', 'ini_alter',
+            'ini_get', 'ini_get_all', 'ini_restore', 'ini_set',
+            'intval', 'in_array', 'ip2long', 'iptcembed',
+            'iptcparse', 'isset', 'is_a', 'is_array', 'is_bool',
+            'is_callable', 'is_dir', 'is_double',
+            'is_executable', 'is_file', 'is_finite', 'is_float',
+            'is_infinite', 'is_int', 'is_integer', 'is_link',
+            'is_long', 'is_nan', 'is_null', 'is_numeric',
+            'is_object', 'is_readable', 'is_real', 'is_resource',
+            'is_scalar', 'is_string', 'is_subclass_of',
+            'is_uploaded_file', 'is_writable', 'is_writeable',
+            'jddayofweek', 'jdmonthname', 'jdtofrench',
+            'jdtogregorian', 'jdtojewish', 'jdtojulian',
+            'jdtounix', 'jewishtojd', 'join', 'juliantojd',
+            'key', 'key_exists', 'krsort', 'ksort', 'lcg_value',
+            'levenshtein', 'link', 'linkinfo', 'list',
+            'localeconv', 'localtime', 'log', 'log1p', 'log10',
+            'long2ip', 'lstat', 'ltrim', 'magic_quotes_runtime',
+            'mail', 'max', 'mbereg', 'mberegi',
+            'mberegi_replace', 'mbereg_match', 'mbereg_replace',
+            'mbereg_search', 'mbereg_search_getpos',
+            'mbereg_search_getregs', 'mbereg_search_init',
+            'mbereg_search_pos', 'mbereg_search_regs',
+            'mbereg_search_setpos', 'mbregex_encoding',
+            'mbsplit', 'mbstrcut', 'mbstrlen', 'mbstrpos',
+            'mbstrrpos', 'mbsubstr', 'mb_convert_case',
+            'mb_convert_encoding', 'mb_convert_kana',
+            'mb_convert_variables', 'mb_decode_mimeheader',
+            'mb_decode_numericentity', 'mb_detect_encoding',
+            'mb_detect_order', 'mb_encode_mimeheader',
+            'mb_encode_numericentity', 'mb_ereg', 'mb_eregi',
+            'mb_eregi_replace', 'mb_ereg_match',
+            'mb_ereg_replace', 'mb_ereg_search',
+            'mb_ereg_search_getpos', 'mb_ereg_search_getregs',
+            'mb_ereg_search_init', 'mb_ereg_search_pos',
+            'mb_ereg_search_regs', 'mb_ereg_search_setpos',
+            'mb_get_info', 'mb_http_input', 'mb_http_output',
+            'mb_internal_encoding', 'mb_language',
+            'mb_output_handler', 'mb_parse_str',
+            'mb_preferred_mime_name', 'mb_regex_encoding',
+            'mb_regex_set_options', 'mb_send_mail', 'mb_split',
+            'mb_strcut', 'mb_strimwidth', 'mb_strlen',
+            'mb_strpos', 'mb_strrpos', 'mb_strtolower',
+            'mb_strtoupper', 'mb_strwidth',
+            'mb_substitute_character', 'mb_substr',
+            'mb_substr_count', 'md5', 'md5_file',
+            'memory_get_usage', 'metaphone', 'method_exists',
+            'microtime', 'min', 'mkdir', 'mktime',
+            'money_format', 'move_uploaded_file',
+            'mt_getrandmax', 'mt_rand', 'mt_srand', 'mysql',
+            'mysql_affected_rows', 'mysql_client_encoding',
+            'mysql_close', 'mysql_connect', 'mysql_createdb',
+            'mysql_create_db', 'mysql_data_seek', 'mysql_dbname',
+            'mysql_db_name', 'mysql_db_query', 'mysql_dropdb',
+            'mysql_drop_db', 'mysql_errno', 'mysql_error',
+            'mysql_escape_string', 'mysql_fetch_array',
+            'mysql_fetch_assoc', 'mysql_fetch_field',
+            'mysql_fetch_lengths', 'mysql_fetch_object',
+            'mysql_fetch_row', 'mysql_fieldflags',
+            'mysql_fieldlen', 'mysql_fieldname',
+            'mysql_fieldtable', 'mysql_fieldtype',
+            'mysql_field_flags', 'mysql_field_len',
+            'mysql_field_name', 'mysql_field_seek',
+            'mysql_field_table', 'mysql_field_type',
+            'mysql_freeresult', 'mysql_free_result',
+            'mysql_get_client_info', 'mysql_get_host_info',
+            'mysql_get_proto_info', 'mysql_get_server_info',
+            'mysql_info', 'mysql_insert_id', 'mysql_listdbs',
+            'mysql_listfields', 'mysql_listtables',
+            'mysql_list_dbs', 'mysql_list_fields',
+            'mysql_list_processes', 'mysql_list_tables',
+            'mysql_numfields', 'mysql_numrows',
+            'mysql_num_fields', 'mysql_num_rows',
+            'mysql_pconnect', 'mysql_ping', 'mysql_query',
+            'mysql_real_escape_string', 'mysql_result',
+            'mysql_selectdb', 'mysql_select_db', 'mysql_stat',
+            'mysql_tablename', 'mysql_table_name',
+            'mysql_thread_id', 'mysql_unbuffered_query',
+            'natcasesort', 'natsort', 'next', 'ngettext',
+            'nl2br', 'nl_langinfo', 'number_format', 'ob_clean',
+            'ob_end_clean', 'ob_end_flush', 'ob_flush',
+            'ob_get_clean', 'ob_get_contents', 'ob_get_flush',
+            'ob_get_length', 'ob_get_level', 'ob_get_status',
+            'ob_gzhandler', 'ob_iconv_handler',
+            'ob_implicit_flush', 'ob_list_handlers', 'ob_start',
+            'octdec', 'opendir', 'openlog', 'openssl_csr_export',
+            'openssl_csr_export_to_file', 'openssl_csr_new',
+            'openssl_csr_sign', 'openssl_error_string',
+            'openssl_free_key', 'openssl_get_privatekey',
+            'openssl_get_publickey', 'openssl_open',
+            'openssl_pkcs7_decrypt', 'openssl_pkcs7_encrypt',
+            'openssl_pkcs7_sign', 'openssl_pkcs7_verify',
+            'openssl_pkey_export', 'openssl_pkey_export_to_file',
+            'openssl_pkey_free', 'openssl_pkey_get_private',
+            'openssl_pkey_get_public', 'openssl_pkey_new',
+            'openssl_private_decrypt', 'openssl_private_encrypt',
+            'openssl_public_decrypt', 'openssl_public_encrypt',
+            'openssl_seal', 'openssl_sign', 'openssl_verify',
+            'openssl_x509_checkpurpose',
+            'openssl_x509_check_private_key',
+            'openssl_x509_export', 'openssl_x509_export_to_file',
+            'openssl_x509_free', 'openssl_x509_parse',
+            'openssl_x509_read', 'ord', 'output_add_rewrite_var',
+            'output_reset_rewrite_vars', 'overload', 'pack',
+            'parse_ini_file', 'parse_str', 'parse_url',
+            'passthru', 'pathinfo', 'pclose', 'pfsockopen',
+            'pg_affected_rows', 'pg_cancel_query',
+            'pg_clientencoding', 'pg_client_encoding',
+            'pg_close', 'pg_cmdtuples', 'pg_connect',
+            'pg_connection_busy', 'pg_connection_reset',
+            'pg_connection_status', 'pg_convert', 'pg_copy_from',
+            'pg_copy_to', 'pg_dbname', 'pg_delete',
+            'pg_end_copy', 'pg_errormessage', 'pg_escape_bytea',
+            'pg_escape_string', 'pg_exec', 'pg_fetch_all',
+            'pg_fetch_array', 'pg_fetch_assoc',
+            'pg_fetch_object', 'pg_fetch_result', 'pg_fetch_row',
+            'pg_fieldisnull', 'pg_fieldname', 'pg_fieldnum',
+            'pg_fieldprtlen', 'pg_fieldsize', 'pg_fieldtype',
+            'pg_field_is_null', 'pg_field_name', 'pg_field_num',
+            'pg_field_prtlen', 'pg_field_size', 'pg_field_type',
+            'pg_freeresult', 'pg_free_result', 'pg_getlastoid',
+            'pg_get_notify', 'pg_get_pid', 'pg_get_result',
+            'pg_host', 'pg_insert', 'pg_last_error',
+            'pg_last_notice', 'pg_last_oid', 'pg_loclose',
+            'pg_locreate', 'pg_loexport', 'pg_loimport',
+            'pg_loopen', 'pg_loread', 'pg_loreadall',
+            'pg_lounlink', 'pg_lowrite', 'pg_lo_close',
+            'pg_lo_create', 'pg_lo_export', 'pg_lo_import',
+            'pg_lo_open', 'pg_lo_read', 'pg_lo_read_all',
+            'pg_lo_seek', 'pg_lo_tell', 'pg_lo_unlink',
+            'pg_lo_write', 'pg_meta_data', 'pg_numfields',
+            'pg_numrows', 'pg_num_fields', 'pg_num_rows',
+            'pg_options', 'pg_pconnect', 'pg_ping', 'pg_port',
+            'pg_put_line', 'pg_query', 'pg_result',
+            'pg_result_error', 'pg_result_seek',
+            'pg_result_status', 'pg_select', 'pg_send_query',
+            'pg_setclientencoding', 'pg_set_client_encoding',
+            'pg_trace', 'pg_tty', 'pg_unescape_bytea',
+            'pg_untrace', 'pg_update', 'phpcredits', 'phpinfo',
+            'phpversion', 'php_ini_scanned_files',
+            'php_logo_guid', 'php_sapi_name', 'php_uname', 'pi',
+            'popen', 'pos', 'posix_ctermid', 'posix_errno',
+            'posix_getcwd', 'posix_getegid', 'posix_geteuid',
+            'posix_getgid', 'posix_getgrgid', 'posix_getgrnam',
+            'posix_getgroups', 'posix_getlogin', 'posix_getpgid',
+            'posix_getpgrp', 'posix_getpid', 'posix_getppid',
+            'posix_getpwnam', 'posix_getpwuid',
+            'posix_getrlimit', 'posix_getsid', 'posix_getuid',
+            'posix_get_last_error', 'posix_isatty', 'posix_kill',
+            'posix_mkfifo', 'posix_setegid', 'posix_seteuid',
+            'posix_setgid', 'posix_setpgid', 'posix_setsid',
+            'posix_setuid', 'posix_strerror', 'posix_times',
+            'posix_ttyname', 'posix_uname', 'pow', 'preg_grep',
+            'preg_match', 'preg_match_all', 'preg_quote',
+            'preg_replace', 'preg_replace_callback',
+            'preg_split', 'prev', 'print', 'printf', 'print_r',
+            'proc_close', 'proc_open', 'putenv',
+            'quoted_printable_decode', 'quotemeta', 'rad2deg',
+            'rand', 'range', 'rawurldecode', 'rawurlencode',
+            'readdir', 'readfile', 'readgzfile', 'readlink',
+            'read_exif_data', 'realpath',
+            'register_shutdown_function',
+            'register_tick_function', 'rename', 'reset',
+            'restore_error_handler', 'restore_include_path',
+            'rewind', 'rewinddir', 'rmdir', 'round', 'rsort',
+            'rtrim', 'sem_acquire', 'sem_get', 'sem_release',
+            'sem_remove', 'serialize', 'session_cache_expire',
+            'session_cache_limiter', 'session_decode',
+            'session_destroy', 'session_encode',
+            'session_get_cookie_params', 'session_id',
+            'session_is_registered', 'session_module_name',
+            'session_name', 'session_regenerate_id',
+            'session_register', 'session_save_path',
+            'session_set_cookie_params',
+            'session_set_save_handler', 'session_start',
+            'session_unregister', 'session_unset',
+            'session_write_close', 'setcookie', 'setlocale',
+            'settype', 'set_error_handler', 'set_file_buffer',
+            'set_include_path', 'set_magic_quotes_runtime',
+            'set_socket_blocking', 'set_time_limit', 'sha1',
+            'sha1_file', 'shell_exec', 'shmop_close',
+            'shmop_delete', 'shmop_open', 'shmop_read',
+            'shmop_size', 'shmop_write', 'shm_attach',
+            'shm_detach', 'shm_get_var', 'shm_put_var',
+            'shm_remove', 'shm_remove_var', 'show_source',
+            'shuffle', 'similar_text', 'sin', 'sinh', 'sizeof',
+            'sleep', 'socket_accept', 'socket_bind',
+            'socket_clear_error', 'socket_close',
+            'socket_connect', 'socket_create',
+            'socket_create_listen', 'socket_create_pair',
+            'socket_getopt', 'socket_getpeername',
+            'socket_getsockname', 'socket_get_option',
+            'socket_get_status', 'socket_iovec_add',
+            'socket_iovec_alloc', 'socket_iovec_delete',
+            'socket_iovec_fetch', 'socket_iovec_free',
+            'socket_iovec_set', 'socket_last_error',
+            'socket_listen', 'socket_read', 'socket_readv',
+            'socket_recv', 'socket_recvfrom', 'socket_recvmsg',
+            'socket_select', 'socket_send', 'socket_sendmsg',
+            'socket_sendto', 'socket_setopt', 'socket_set_block',
+            'socket_set_blocking', 'socket_set_nonblock',
+            'socket_set_option', 'socket_set_timeout',
+            'socket_shutdown', 'socket_strerror', 'socket_write',
+            'socket_writev', 'sort', 'soundex', 'split',
+            'spliti', 'sprintf', 'sql_regcase', 'sqrt', 'srand',
+            'sscanf', 'stat', 'static', 'strcasecmp', 'strchr',
+            'strcmp', 'strcoll', 'strcspn',
+            'stream_context_create',
+            'stream_context_get_options',
+            'stream_context_set_option',
+            'stream_context_set_params', 'stream_filter_append',
+            'stream_filter_prepend', 'stream_get_meta_data',
+            'stream_register_wrapper', 'stream_select',
+            'stream_set_blocking', 'stream_set_timeout',
+            'stream_set_write_buffer', 'stream_wrapper_register',
+            'strftime', 'stripcslashes', 'stripslashes',
+            'strip_tags', 'stristr', 'strlen', 'strnatcasecmp',
+            'strnatcmp', 'strncasecmp', 'strncmp', 'strpos',
+            'strrchr', 'strrev', 'strrpos', 'strspn', 'strstr',
+            'strtok', 'strtolower', 'strtotime', 'strtoupper',
+            'strtr', 'strval', 'str_pad', 'str_repeat',
+            'str_replace', 'str_rot13', 'str_shuffle',
+            'str_word_count', 'substr', 'substr_count',
+            'substr_replace', 'symlink', 'syslog', 'system',
+            'tan', 'tanh', 'tempnam', 'textdomain', 'time',
+            'tmpfile', 'token_get_all', 'token_name', 'touch',
+            'trigger_error', 'trim', 'uasort', 'ucfirst',
+            'ucwords', 'uksort', 'umask', 'uniqid', 'unixtojd',
+            'unlink', 'unpack', 'unregister_tick_function',
+            'unserialize', 'unset', 'urldecode', 'urlencode',
+            'user_error', 'usleep', 'usort', 'utf8_decode',
+            'utf8_encode', 'var_dump', 'var_export',
+            'version_compare', 'virtual', 'vprintf', 'vsprintf',
+            'wddx_add_vars', 'wddx_deserialize',
+            'wddx_packet_end', 'wddx_packet_start',
+            'wddx_serialize_value', 'wddx_serialize_vars',
+            'wordwrap', 'xml_error_string',
+            'xml_get_current_byte_index',
+            'xml_get_current_column_number',
+            'xml_get_current_line_number', 'xml_get_error_code',
+            'xml_parse', 'xml_parser_create',
+            'xml_parser_create_ns', 'xml_parser_free',
+            'xml_parser_get_option', 'xml_parser_set_option',
+            'xml_parse_into_struct',
+            'xml_set_character_data_handler',
+            'xml_set_default_handler', 'xml_set_element_handler',
+            'xml_set_end_namespace_decl_handler',
+            'xml_set_external_entity_ref_handler',
+            'xml_set_notation_decl_handler', 'xml_set_object',
+            'xml_set_processing_instruction_handler',
+            'xml_set_start_namespace_decl_handler',
+            'xml_set_unparsed_entity_decl_handler', 'yp_all',
+            'yp_cat', 'yp_errno', 'yp_err_string', 'yp_first',
+            'yp_get_default_domain', 'yp_master', 'yp_match',
+            'yp_next', 'yp_order', 'zend_logo_guid',
+            'zend_version', 'zlib_get_coding_type', '_'
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+        1 => array(
+            '<%', '<%=', '%>', '<?', '<?=', '?>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '@', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';'
+            )
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -270,48 +506,62 @@
         'KEYWORDS' => array(
             1 => 'color: #b1b100;',
             2 => 'color: #000000; font-weight: bold;',
-            3 => 'color: #000066;'
+            3 => 'color: #990000;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #808080; font-style: italic;',
-            2 => 'color: #808080; font-style: italic;',
-            'MULTI' => 'color: #808080; font-style: italic;'
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            3 => 'color: #0000cc; font-style: italic;',
+            4 => 'color: #009933; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
-            0 => 'color: #000099; font-weight: bold;'
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #006699; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold; font-style: italic;',
+            6 => 'color: #009933; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #009900;'
             ),
         'STRINGS' => array(
-            0 => 'color: #ff0000;'
+            0 => 'color: #0000ff;',
+            'HARD' => 'color: #0000ff;'
             ),
         'NUMBERS' => array(
-            0 => 'color: #cc66cc;'
+            0 => 'color: #cc66cc;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
             ),
         'METHODS' => array(
-            1 => 'color: #006600;',
-            2 => 'color: #006600;'
+            1 => 'color: #004000;',
+            2 => 'color: #004000;'
             ),
         'SYMBOLS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #339933;',
+            1 => 'color: #000000; font-weight: bold;'
             ),
         'REGEXPS' => array(
-            0 => 'color: #0000ff;',
-            1 => 'color: #ff0000'
+            0 => 'color: #000088;'
             ),
         'SCRIPT' => array(
             0 => '',
             1 => '',
             2 => '',
-            3 => ''
+            3 => '',
+            4 => '',
+            5 => ''
             )
         ),
     'URLS' => array(
         1 => '',
         2 => '',
-        3 => 'http://www.php.net/{FNAME}',
-        4 => ''
+        3 => 'http://www.php.net/{FNAMEL}'
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
@@ -319,14 +569,8 @@
         2 => '::'
         ),
     'REGEXPS' => array(
-        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
-        1 => array(
-            GESHI_SEARCH  => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
-            GESHI_REPLACE => '\3',
-            GESHI_BEFORE => '\1\2',
-            GESHI_AFTER => '\4\5',
-            GESHI_MODIFIERS => 'siU'
-            )
+        //Variables
+        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
         ),
     'STRICT_MODE_APPLIES' => GESHI_MAYBE,
     'SCRIPT_DELIMITERS' => array(
@@ -341,13 +585,17 @@
             ),
         3 => array(
             '<script language="php">' => '</script>'
-            )
+            ),
+        4 => "/(<\?(?:php)?)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm",
+        5 => "/(<%)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
         0 => true,
         1 => true,
         2 => true,
-        3 => true
+        3 => true,
+        4 => true,
+        5 => true
         ),
     'TAB_WIDTH' => 4
 );