note 47600 added to function.fnmatch

From: Date: Mon, 22 Nov 2004 15:49:12 +0000
Subject: note 47600 added to function.fnmatch
Groups: php.notes 
Request: Send a blank email to php-notes+get-80877@lists.php.net to get a copy of this message
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 ---- Manual Page -- http://www.php.net/manual/en/function.fnmatch.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+47600 Delete -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+47600&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+47600&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#80877) next »