note 47600 deleted from function.fnmatch by victor

From: Date: Fri, 19 Aug 2005 11:31:21 +0000
Subject: note 47600 deleted from function.fnmatch by victor
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-93888@lists.php.net to get a copy of this message
Note Submitter: jcl [atNOSPAM] jcl [dot] name ---- Oooops, sorry, I did a mistake... Here is the right version : function my_fnmatch ($pattern, $file) { $lenpattern = strlen($pattern); $lenfile = strlen($file); for($i=0 ; $i<$lenpattern ; $i++) { if($pattern[$i] == "*") { for($c=$i ; $c<max($lenpattern, $lenfile) ; $c++) { if(my_fnmatch(substr($pattern, $i+1), substr($file, $c))) return true; } return false; } if($pattern[$i] == "[") { $letter_set = array(); for($c=$i+1 ; $c<$lenpattern ; $c++) { if($pattern[$c] != "]") array_push($letter_set, $pattern[$c]); else break; } foreach($letter_set as $letter) { if(my_fnmatch($letter.substr($pattern, $c+1), substr($file, $i))) return true; } return false; } if($pattern[$i] == "?") continue; if($pattern[$i] != $file[$i]) return false; } if(($lenpattern != $lenfile) && ($pattern[$i - 1] == "?")) return false; return true; } Cheers Jean-Charles Lefebvre

« previous php.notes (#93888) next »