php.js

来自「在线编辑器」· JavaScript 代码 · 共 580 行 · 第 1/2 页

JS
580
字号
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1
 *
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
 * See the License for the specific language governing rights and
 * limitations under the License.
 *
 * The Original Code is Bespin.
 *
 * The Initial Developer of the Original Code is Mozilla.
 * Portions created by the Initial Developer are Copyright (C) 2009
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *   Bespin Team (bespin@mozilla.com)
 *
 * ***** END LICENSE BLOCK ***** */

// = PHP Syntax Highlighting Implementation =
//
// Module for syntax highlighting PHP.

dojo.provide("bespin.syntax.php");

// ** {{{ bespin.syntax.PHPSyntaxEngine }}} **
//
// Tracks syntax highlighting data on a per-line basis. This is a quick-and-dirty implementation that
// supports five basic highlights: keywords, punctuation, strings, comments, and "everything else", all
// lumped into one last bucket.

bespin.syntax.PHPConstants = {
    C_STYLE_COMMENT: "c-comment",
    LINE_COMMENT: "comment",
    STRING: "string",
    KEYWORD: "keyword",
    PUNCTUATION: "punctuation",
    OTHER: "plain"
}

dojo.declare("bespin.syntax.PHPSyntaxEngine", null, {
    keywords: 'include require include_once require_once for foreach as if elseif else while do endwhile ' +
		'endif switch case endswitch endfor endforeach ' +
		'return break continue ' +
		'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__ __LINE__ __METHOD__ __FUNCTION__ ' +
		'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 ' +

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?