bonjour
j'ai un soucis avec mon expression régulière, lorsque je rentre le pattern en dur(je le récupère a travers un sniffer "charles") ça fonctionne, mais lorsque je laisse le code le générer et le passer en argument a preg_match($pattern,$Entry ) ca ne fonctionne plus. je ne vois pas ou est la différence entre les deux expressions

merci si qq1 y voit mieux que moi, c'est super .....
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
public function  retour($directory,$extension){
 
 
		//creation xml
		$this->directoryXML = new DOMDocument();
		// racine du fichier xml : repertoire public 
		$this->directoryXML->loadXML('<?xml version="1.0" encoding="ISO-8859-1"?> <directory> <galeries> </galeries> </directory>');
 
 
		$MyDirectory = opendir($directory) or die('Erreur');
 
		//$node = $this->directoryXML->documentElement;
		$this->node = $this->directoryXML->getElementsByTagName("galeries")->item(0);
		//$this->node = $this->directoryXML;
		//$myTab = array();	
 
		// verification extension autorisées 
 
		$pattern = "'#";
 
		foreach($extension as $value)
		{
			if(!($value == end($extension)))
			{
				$pattern.=$value.'$|';
			}else{
 
				$pattern.=$value.'$';
 
			}
		}
 
		$pattern .= "#'";
 
               //expression récupérer dans le sniffer avec laquelle ca fonctionne
 
		//$pattern='#jpg$|png$|jpeg$|gif$#';
 
		while($Entry = @readdir($MyDirectory)) 
		{
			//return $pattern;
 
			/* renvois les extention passé en parametres*/
				if($Entry != '.' && $Entry != '..' && preg_match($pattern,$Entry )>0)
				{
 
 
						$file = $this->directoryXML->createElement("photo");
						// ajoute l'attribut source = nom du fichier medias 
						$file->setAttribute('source',$Entry);
						// ajoute le noeud
						$this->node->appendChild($file);
 
 
				}
		}// fin while 
 
		closedir($MyDirectory);
 
		$xml = $this->directoryXML->saveXML();
 
		return $xml;
 
		//return $pattern;
 
 
 
 
	}// fin retour