#define NBR 31
static const char *MotsRESER[NBR]={
   "as","break",
   "case","catch","continue",
   "do", "default","declare",
   "else","elseif",
   "if","include","include_once",
   "friend","for","foreach",
   "goto",
   "or",
   "public","private","protected",
   "new",  
   "require","require_once","restrict","return",
   "switch",
   "throw","try",
   "using",
   "while",
};

#define NBT 26
static const char *MotsTYPES[NBT]={
    "array","boolean","char","int","long","float","double","bool","short","function",
    "struct","typedef","const","register",
    "static","volatile","class","volatile","namespace",
    "template","inline","global","true","false","null","NULL",
};

// sans doublons!
short PHPNBF;
static char *MotsFONCS[]={

 //MySQL
    "mysqli",
    "mysqli_bind_param","mysqli_bind_result","mysqli_client_encoding",
    "mysqli_connect","mysqli_connect_errno","mysqli_connect_error",
    "mysqli_disable_rpl_parse","mysqli_enable_reads_from_master","mysqli_enable_rpl_parse",
    "mysqli_escape_string","mysqli_execute","mysqli_fetch","mysqli_get_cache_stats",
    "mysqli_get_client_stats","mysqli_get_host_info",
    "mysqli_close","mysqli_report",
    "mysqli_master_query","mysqli_save_query","mysqli_lave_query","mysqli_set_charset",
    "mysqli_query","mysqli_fetch_array","mysqli_num_rows","mysqli_error",
    "mysqli_get_links_stats","mysqli_get_metadata","mysqli_param_count",
    "mysqli_rpl_parse_enabled","mysqli_rpl_probe","mysqli_send_long_data",
    "mysqli_slave_query",

 //Classe mysqli (MySQL orienté objet)
  //propriétés
    "affected_rows","client_info","client_version","connect_errno","connect_error","errno",
    "error_list","error","field_count","info","insert_id","host_info","protocol_version",
    "server_info","server_version","sqlstate","thread_id","warning_count",
  //méthodes
    "set_charset","autocommit","begin_transaction","change_user","character_set_nam","close",
    "commit","__construct","debug","disable_reads_from_master","dump_debug_info","get_charset",
    "get_connection_stats","get_warnings","init","kill","more_results","multi_query","next_result",
    "options","ping","poll","prepare","real_connect","real_escape_string","real_query",
    "reap_async_query","refresh","release_savepoint","rollback","rpl_query_type","savepoint",
    "select_db","send_query","set_local_infile_default","set_local_infile_handler",
    "set_opt","ssl_set","stmt_init","store_result","thread_safe","use_result",

 // Classe mysqli_result
    "mysqli_result","current_field","data_seek","fetch_all","fetch_array","fetch_assoc",
    "fetch_field_direct","fetch_field","fetch_fields","fetch_object","fetch_row",
    "field_seek","free","lengths","num_rows",

 //PDO:: Constantes prédéfinies https://www.php.net/manual/fr/pdo.constants.php
    "PARAM_BOOL","PARAM_NULL","PARAM_INT","PARAM_STR","PARAM_STR_NATL","PARAM_STR_CHAR","PARAM_LOB",
    "PARAM_STMT","PARAM_INPUT_OUTPUT","PARAM_fETCH_LAZY","FETCH_LAZY","FETCH_ASSOC","FETCH_NAMED",
    "FETCH_NUM","FETCH_BOTH","FETCH_OBJ","FETCH_BOUND","FETCH_COLUMN","FETCH_CLASS","FETCH_INTO",
    "FETCH_FUNC","FETCH_GROUP","FETCH_UNIQUE","FETCH_KEY_PAIR","FETCH_CLASSTYPE","FETCH_SERIALIZE",
    "FETCH_PROPS_LATE","ATTR_AUTOCOMMIT","ATTR_PREFETCH","ATTR_TIMEOUT","ATTR_ERRMODE","ATTR_SERVER_VERSION",
    "ATTR_CLIENT_VERSION","ATTR_SERVER_INFO","ATTR_CONNECTION_STATUS","ATTR_CASE","ATTR_CURSOR_NAME",
    "ATTR_CURSOR","ATTR_DRIVER_NAME","ATTR_ORACLE_NULLS","ATTR_PERSISTENT","ATTR_STATEMENT_CLASS",
    "ATTR_FETCH_CATALOG_NAMES","ATTR_FETCH_TABLE_NAMES","ATTR_STRINGIFY_FETCHES","ATTR_MAX_COLUMN_LEN",
    "ATTR_DEFAULT_FETCH_MODE","ATTR_EMULATE_PREPARES","ATTR_DEFAULT_STR_PARAM",
    "ERRMODE_SILENT","ERRMODE_WARNING","ERRMODE_EXCEPTION",
    "NULL_NATURAL","NULL_EMPTY_STRING","NULL_TO_STRING",
    "FETCH_ORI_NEXT","FETCH_ORI_PRIOR","FETCH_ORI_FIRST","FETCH_ORI_LAST","FETCH_ORI_ABS","FETCH_ORI_REL",
    "CURSOR_FWDONLY","CURSOR_SCROLL","ERR_NONE",
    "CASE_NATURAL","CASE_LOWER","CASE_UPPER",
    "PARAM_EVT_ALLOC","PARAM_EVT_FREE","PARAM_EVT_EXEC_PRE","PARAM_EVT_EXEC_POST","PARAM_EVT_FETCH_PRE",
    "PARAM_EVT_FETCH_POST","PARAM_EVT_NORMALIZE","SQLITE_DETERMINISTIC",

 //Classe PDO
    "PDO","beginTransaction","commit","errorCode","errorInfo","getAttribute",
    "getAvailableDrivers","inTransaction","lastInsertId","query","quote","rollBack",
    //"prepare","exec",
    "setAttribute",
 //Classe PDOStatement — La classe PDOStatement
    "bindColumn","bindParam","bindValue","closeCursor","columnCount","debugDumpParams",
    "execute","fetch","fetchAll","fetchColumn","fetchObject",
    "getColumnMeta","nextRowset","rowCount","setFetchMode",
    //"getAttribute","errorCode","errorInfo","setAttribute",
 //Classe PDOException
    /* Propriétés "errorInfo", */
    "code",
    /* Propriétés héritées "file",*/
    "message","code","line",
    /* Méthodes héritées */
    "getMessage","getPrevious","getCode","getFile","getLine","getTrace","getTraceAsString",
    "_toString","__clone",

 //Fonctions sur les informations de PHP
    "assert_​options","assert",
    "cli_​get_​process_​title","cli_​set_​process_​title",
    "dl","extension_​loaded",
    "gc_​collect_​cycles","gc_​disable","gc_​enable","gc_​enabled","gc_​mem_​caches","gc_​status",
    "get_​cfg_​var","get_​current_​user","get_​defined_​constants","get_​extension_​funcs",
    "get_​include_​path","get_​included_​files","get_​loaded_​extensions","get_​magic_​quotes_​gpc",
    "get_​magic_​quotes_​runtime","get_​required_​files","get_​resources","getenv","getlastmod",
    "getmygid","getmyinode","getmypid","getmyuid","getopt","getrusage","ini_​alter","ini_​get_​all",
    "ini_​get","ini_​restore","ini_set","main","memory_​get_​peak_​usage","memory_​get_​usage",
    "php_​ini_​loaded_​file","php_​ini_​scanned_​files","php_​logo_​guid","php_​sapi_​name","php_​uname",
    "phpcredits","phpinfo","phpversion","putenv","restore_​include_​path",
    "set_​include_​path","set_​time_​limit","sys_​get_​temp_​dir","version_​compare",
    "zend_​logo_​guid","zend_​thread_​id","zend_​version",

 //Fonctions sur les Classes/Objets
    "__autoload","call_user_method_array","call_user_method","class_alias","class_exists",
    "get_called_class","get_class_methods","get_class_vars","get_class","get_declared_classes",
    "get_declared_interfaces","get_declared_traits","get_object_vars","get_parent_class",
    "interface_exists","is_a","is_subclass_of","method_exists","property_exists","trait_exists",

 //Fonctions sur la gestion des erreurs
    "debug_backtrace","debug_print_backtrace","error_clear_last","error_get_last","error_log",
    "error_reporting",    "E_ALL","E_NOTICE","E_ERROR","E_WARNING","E_PARSE",
    "restore_error_handler","restore_exception_handler","set_error_handler",
    "set_exception_handler","trigger_error","user_error",

 //Fonctions sur l'exécution de programmes externes
    "escapeshellarg","escapeshellcmd","exec","passthru","proc_close","proc_get_status",
    "proc_nice","proc_open","proc_terminate","shell_exec","system",
    
 //Fonctions Math
    "abs","acos","acosh","asin","asinh","atan2","atan","atanh","base_convert","bindec",
    "ceil","cos","cosh","decbin","dechex","decoct","deg2rad","exp","expm1",
    "floor","fmod","getrandmax","hexdec","hypot",
    "intdiv","is_finite","is_infinite","is_nan","lcg_value","log10","log1p","log",
    "max","min","mt_getrandmax","mt_rand","mt_srand","octdec","pi","pow",
    "rad2deg","rand","round","sin","sinh","sqrt","srand","tan","tanh",

 //Fonctions de gestion des variables
    "boolval","debug_zval_dump","doubleval","empty","floatval","get_defined_vars",
    "get_resource_type","gettype","import_request_variables","intval",
    "is_array","is_bool","is_callable","is_countable","is_double","is_float","is_int","is_integer",
    "is_iterable","is_long","is_null","is_numeric","is_object","is_real","is_resource","is_scalar",
    "is_string","isset","print_r","serialize","settype","strval","unserialize","unset",
    "var_dump","var_export",

 //Fonctions sur les Sessions
    "session_abort","session_cache_expire","session_cache_limiter","session_commit",
    "session_create_id","session_decode","session_destroy","session_encode","session_gc",
    "session_get_cookie_params","session_id","session_is_registered","session_module_name",
    "session_name","session_regenerate_id","session_register_shutdown","session_register",
    "session_reset","session_save_path","session_set_cookie_params","session_set_save_handler",
    "session_start","session_status","session_unregister","session_unset","session_write_close",

 //Fonctions CURL
    "curl_init","curl_setopt","curl_exec","curl_close","curl_errno",
    "curl_error","curl_getinfo","curl_setopt_array",

 //Fonctions sur les chaînes de caractères
    "addcslashes","addslashes",
    "bin2hex","chop","chr","chunk_​split","convert_​cyr_​string","convert_​uudecode",
    "convert_​uuencode","count_​chars","crc32","crypt","echo",
    "explode","fprintf","get_​html_​translation_​table",
    "hebrev","hebrevc","hex2bin","html_​entity_​decode","htmlentities",
    "htmlspecialchars_​decode","htmlspecialchars",
    "implode","join",
    "lcfirst","levenshtein","localeconv","ltrim",
    "md5_​file","md5","metaphone","money_​format",
    "nl_​langinfo","nl2br","number_​format",
    "ord","parse_​str","print","printf","quoted_​printable_​decode",
    "quoted_​printable_​encode","quotemeta",
    "rtrim","setlocale",
    "sha1_​file","sha1","similar_​text","soundex","sprintf","sscanf",
    "str_​getcsv","str_​ireplace","str_pad","str_repeat","str_replace","str_​rot13",
    "str_shuffle","str_​split","str_​word_​count",
    "strcasecmp","strchr","strcmp","strcoll","strcspn","strip_​tags","stripcslashes",
    "stripos","stripslashes","stristr","strlen","strnatcasecmp","strnatcmp",
    "strncasecmp","strncmp","strpbrk","strpos","strrchr","strrev","strripos","strrpos",
    "strspn","strstr","strtok","strtolower","strtoupper","strtr",
    "substr_​compare","substr_​count","substr_​replace","substr",
    "trim","ucfirst","ucwords","vfprintf","vprintf","vsprintf","wordwrap",

 //Fonctions sur les tableaux
    "array_change_key_case","array_chunk","array_column","array_combine","array_count_values",
    "array_diff_assoc","array_diff_key","array_diff_uassoc","array_diff_ukey","array_diff",
    "array_fill_keys","array_fill","array_filter","array_flip","array_intersect_assoc",
    "array_intersect_key","array_intersect_uassoc","array_intersect_ukey","array_intersect",
    "array_key_exists","array_key_first","array_key_last","array_keys","array_map",
    "array_merge_recursive","array_merge","array_multisort","array_pad","array_pop",
    "array_product","array_push","array_rand","array_reduce","array_replace_recursive",
    "array_replace","array_reverse","array_search","array_shift","array_slice","array_splice",
    "array_sum","array_udiff_assoc","array_udiff_uassoc","array_udiff","array_uintersect_assoc",
    "array_uintersect_uassoc","array_uintersect","array_unique","array_unshift","array_values",
    "array_walk_recursive","array_walk","array","arsort","asort","compact","count","current",
    "each","end",
    "extract","in_array","key_exists","key","krsort","ksort","list","natcasesort",
    "natsort","next","pos","prev","range","reset","rsort","shuffle","sizeof","sort",
    "uasort","uksort","usort",




 //Fonctions sur les dossiers et fichiers
    "basename","chgrp","chmod","chown","clearstatcache","copy","delete","dirname",
    "disk_free_space","disk_total_space","diskfreespace","fclose","feof","fflush","fgetc",
    "fgetcs","fgets","fgetss","file_exists","file_get_contents","file_put_contents","file",
    "fileatime","filectime","filegroup","fileinode","filemtime","fileowner","fileperms",
    "filesize","filetype","flock","fnmatch","fopen","fpassthru","fputcsv","fputs","fread",
    "fscanf","fseek","fstat","ftell","ftruncate","fwrite","glob","is_dir","is_executable",
    "is_file","is_link","is_readable","is_uploaded_file","is_writable","is_writeable","lchgrp",
    "lchown","link","linkinfo","lstat","mkdir","move_uploaded_file","parse_ini_file",
    "parse_ini_string","pathinfo","pclose","popen","readfile","readlink","realpath",
    "realpath_cache_size","rename","rewind","rmdir","set_file_buffer","stat",
    "symlink","tempnam","tmpfile","touch","umask","unlink",

 //Constantes pour les flux I/O
    "STDIN","STDOUT","STDERR",

 // Classe RecursiveIteratorIterator
 // Peut être utilisé pour itérer sur des itérateurs, récursivement.
 //https://www.php.net/manual/fr/class.recursiveiteratoriterator.php
    /* Constantes */
    "LEAVES_ONLY","SELF_FIRST","CHILD_FIRST","CATCH_GET_CHILD",
    /* Méthodes "__construct","current","key","next","rewind","valid", */
    "beginChildren","beginIteration","callGetChildren","callHasChildren",
    "endChildren","endIteration","getDepth","getInnerIterator","getMaxDepth","getSubIterator",
    "nextElement","setMaxDepth",

 // Classe DirectoryIterator
 // La classe DirectoryIterator fournit une interface simple pour lire le contenu d'un système de fichiers.
 //https://www.php.net/manual/fr/class.directoryiterator.php
    "_​_​construct","getATime","getBasename","getCTime","getExtension","getFilename","getGroup",
    "getInode","getMTime","getOwner","getPath","getPathname","getPerms","getSize","getType","isDir","isDot",
    "isExecutable","isFile","isLink","isReadable","isWritable","seek","_​_​toString","valid",
    //"key","current","rewind","next",

 //Fonctions sur les dossiers
    "chdir","chroot","closedir","dir","getcwd","opendir","readdir","rewinddir","scandir",

 //Fonctions sur les flux
    "stream_​bucket_​append","stream_​bucket_​make_​writeable","stream_​bucket_​new","stream_​bucket_​prepend",
    "stream_​context_​create","stream_​context_​get_​default","stream_​context_​get_​options","stream_​context_​get_​params",
    "stream_​context_​set_​default","stream_​context_​set_​option","stream_​context_​set_​params","stream_​copy_​to_​stream",
    "stream_​filter_​append","stream_​filter_​prepend","stream_​filter_​register","stream_​filter_​remove","stream_​get_​contents",
    "stream_​get_​filters","stream_​get_​line","stream_​get_​meta_​data","stream_​get_​transports","stream_​get_​wrappers",
    "stream_​is_​local","stream_​isatty","stream_​notification_​callback","stream_​register_​wrapper",
    "stream_​resolve_​include_​path","stream_​select","stream_​set_​blocking","stream_​set_​chunk_​size",
    "stream_​set_​read_​buffer","stream_​set_​timeout","stream_​set_​write_​buffer","stream_​socket_​accept",
    "stream_​socket_​client","stream_​socket_​enable_​crypto","stream_​socket_​get_​name","stream_​socket_​pair",
    "stream_​socket_​recvfrom","stream_​socket_​sendto","stream_​socket_​server","stream_​socket_​shutdown",
    "stream_​supports_​lock","stream_​wrapper_​register","stream_​wrapper_​restore","stream_​wrapper_​unregister",





 //Fonctions sur les dates
    "checkdate","date_​add","date_​create_​from_​format","date_​create_​immutable_​from_​format",
    "date_​create_​immutable","date_​create","date_​date_​set","date_​default_​timezone_​get",
    "date_​default_​timezone_​set","date_​diff","date_​format","date_​get_​last_​errors",
    "date_​interval_​create_​from_​date_​string","date_​interval_​format","date_​isodate_​set","date_​modify",
    "date_​offset_​get","date_​parse_​from_​format","date_​parse","date_​sub","date_​sun_​info","date_​sunrise",
    "date_​sunset","date_​time_​set","date_​timestamp_​get","date_​timestamp_​set","date_​timezone_​get",
    "date_​timezone_​set","date","getdate","gettimeofday","gmdate","gmmktime","gmstrftime","idate",
    "localtime","microtime","mktime","strftime","strptime","strtotime","time","timezone_​abbreviations_​list",
    "timezone_​identifiers_​list","timezone_​location_​get","timezone_​name_​from_​abbr","timezone_​name_​get",
    "timezone_​offset_​get","timezone_​open","timezone_​transitions_​get","timezone_​version_​get",

 //Fonctions GD
     "gd_info","getimagesize","getimagesizefromstring","image_type_to_extension",
     "image_type_to_mime_type","image2wbmp","imageaffine","imageaffinematrixconcat",
     "imageaffinematrixget","imagealphablending","imageantialias","imagearc","imagebmp",
     "imagechar","imagecharup","imagecolorallocate","imagecolorallocatealpha","imagecolorat",
     "imagecolorclosest","imagecolorclosestalpha","imagecolorclosesthwb","imagecolordeallocate",
     "imagecolorexact","imagecolorexactalpha","imagecolormatch","imagecolorresolve",
     "imagecolorresolvealpha","imagecolorset","imagecolorsforindex","imagecolorstotal",
     "imagecolortransparent","imageconvolution","imagecopy","imagecopymerge","imagecopymergegray",
     "imagecopyresampled","imagecopyresized","imagecreate","imagecreatefrombmp","imagecreatefromgd2",
     "imagecreatefromgd2part","imagecreatefromgd","imagecreatefromgif","imagecreatefromjpeg",
     "imagecreatefrompng","imagecreatefromstring","imagecreatefromwbmp","imagecreatefromwebp",
     "imagecreatefromxbm","imagecreatefromxpm","imagecreatetruecolor","imagecrop","imagecropauto",
     "imagedashedline","imagedestroy","imageellipse","imagefill","imagefilledarc","imagefilledellipse",
     "imagefilledpolygon","imagefilledrectangle","imagefilltoborder","imagefilter","imageflip",
     "imagefontheight","imagefontwidth","imageftbbox","imagefttext","imagegammacorrect","imagegd2",
     "imagegd","imagegetclip","imagegif","imagegrabscreen","imagegrabwindow","imageinterlace",
     "imageistruecolor","imagejpeg","imagelayereffect","imageline","imageloadfont","imageopenpolygon",
     "imagepalettecopy","imagepalettetotruecolor","imagepng","imagepolygon","imagepsbbox",
     "imagepsencodefont","imagepsextendfont","imagepsfreefont","imagepsloadfont","imagepsslantfont",
     "imagepstext","imagerectangl","imageresolution","imagerotate","imagesavealpha","imagescale",
     "imagesetbrush","imagesetclip","imagesetinterpolation","imagesetpixel","imagesetstyle",
     "imagesetthickness","imagesettile","imagestring","imagestringup","imagesx","imagesy",
     "imagetruecolortopalette","imagettfbbox","imagettftext","imagetypes","imagewbmp","imagewebp",
     "imagexbm","iptcembed","iptcparse","jpeg2wbmp","png2wbmp",

 //Fonctions OPCache
    "opcache_compile_file","opcache_get_configuration","opcache_get_status","opcache_invalidate",
    "opcache_is_script_cached","opcache_reset",

 //Fonctions Zip
    "zip_close","zip_entry_close","zip_entry_compressedsize","zip_entry_compressionmethod",
    "zip_entry_filesize","zip_entry_name","zip_entry_open","zip_entry_read","zip_open","zip_read",
    
 //Fonctions PCRE
    "preg_filter","preg_grep","preg_last_error","preg_match_all","preg_match","preg_quote",
    "preg_replace_callback_array","preg_replace_callback","preg_replace","preg_split",

 //Fonctions Ctype
    "ctype_alnum","ctype_alpha","ctype_cntrl","ctype_digit","ctype_graph","ctype_lower",
    "ctype_print","ctype_punc","ctype_space","ctype_upper","ctype_xdigit",

 //Fonctions Apache
    "apache_child_terminate","apache_get_modules","apache_get_version","apache_getenv",
    "apache_lookup_uri","apache_note","apache_request_headers","apache_reset_timeout",
    "apache_response_headers","apache_setenv","getallheaders","virtual",



 //Fonctions diverses
    "connection_aborted","connection_status","constant","define","defined","die","eval","exit",
    "get_browser","__halt_compiler","highlight_file","highlight_string","hrtime","ignore_user_abort",
    "pack","php_check_syntax","php_strip_whitespace","sapi_windows_cp_conv","sapi_windows_cp_get",
    "sapi_windows_cp_is_utf8","sapi_windows_cp_set","sapi_windows_vt100_support","show_source",
    "sleep","sys_getloadavg","time_nanosleep","time_sleep_until","uniqid","unpack","usleep",
    "mail",

 //Fonctions sur les fonctions
    "call_user_func_array","call_user_func","create_function","forward_static_call_array",
    "forward_static_call","func_get_arg","func_get_args","func_num_args","function_exists",
    "get_defined_functions","register_shutdown_function","register_tick_function",
    "unregister_tick_function"

};
motsPHP.h 335 lignes, 20079 octets. Balisé en 3.90 ms Vitesse : 5153 octets/ms