Probleme: Glob() et la sentivite de la casse

Probleme: Glob() et la sentivite de la casse - PHP - Programmation

Marsh Posté le 20-12-2004 à 18:20:45    

Bonjour a tous  :)
Je me trouve confronte a un petit probleme, a savoir que je n'arrive pas a realise une regexp de non sensitivite a la casse pour cette chere fonction glob() .
Je suis dans l'obligation de filtrer les resultats par la suite.
 

Code :
  1. $aGlob = glob("*" );
  2. $fCallback = create_function('$f','return preg_match("/'.$sQuery.'/i",$f);');
  3. $aGlob = array_filter($aGlob, $fCallback);


c'est relativement dommage car sans le test de la casse,  

Code :
  1. $aGlob = glob("*".$sQuery."*" );


l'execution est 10 fois plus rapide  :o  
 
Donc si quelqu'un a reussi a utiliser glob() autrement qu'avec des match de type "*", j'aimerai bien un petit coup de main.
 
(Notez que je cherche le moyen le plus rapide d'effectuer cette recherche, oublions donc les opendir, etc etc ;) )
 
Merci par avance et bonnes fetes   :jap:

Reply

Marsh Posté le 20-12-2004 à 18:20:45   

Reply

Marsh Posté le 20-12-2004 à 20:13:01    

Alors je sais pas du tout si c'est optimal (en fait j'en doute), mais je propose quand même :
 

Code :
  1. function glob_i($s_match) {
  2. $s_match = preg_replace('#[a-zA-Z]#e', '"{".strtolower("$0" ).", ".strtoupper("$0" )."}"', $s_match);
  3.              
  4. return glob($s_match, GLOB_BRACE);
  5. }


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 20-12-2004 à 20:55:47    

ah pas mal l'idee :)
malheureusement cela prend un chouilla plus de temps :(
Merci beaucoup pour l'idee :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed