Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/04/2006, 16h50   #1
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
Par défaut regex:prendre tous les fichier inclu

salut
j'essaye de faire une regex pour prendre tous les fichiers inclu par require,require_once, include et include_once
j'essaye d'utiliser les assertions mais c'est pas gagné
Citation:
(?<=[require|require_once] )([( a-z)][^ \t\n]*)(?=
ca foncionne a moitié ca prend bien le fichier ionclu mais aussi d'autre expression qui n'on rien a voir avec les masques comme
Code :
self::$_instance[$instance_id];
merci
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 17h05   #2
Nouveau Membre du Club
 
Inscription : octobre 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 38
Points : 33
Points : 33
Envoyer un message via MSN à croote Envoyer un message via Yahoo à croote
Pourrais tu donner plus de ligne de ton fichier pour voir quelle methode tu utilises. Pourrais tu aussi desactiver les smiley de ton message pour que l'on voit bien tt.
Merci d'avance
croote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 17h14   #3
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
alors par example
dans ce fichier
Code :
1
2
3
4
5
6
7
8
9
10
11
12
require ('truc');
include ('coco');
 
protected static function Singleton($instance_id = null){
		if(!isset(self::$_instance[$instance_id])){
			if(!class_exists($instance_id)){
		return (boolean) false;
			}
			self::$_instance[$instance_id] = new $instance_id();
		}
		return self::$_instance[$instance_id];
	}
je veux recuperer les chemein specifier dans le require

mon idée est de fair eun regex pour les quarte type d'inclusion possible avce des condition 'ou'
voici le masque
Code :
(?<=require[^(\'])([( a-z)][^ \t\n]*)(?=[')]|';)
je voudrai avec une meme regex prendre tous les fichier inclu par (include,include_once,require_once,require)
et tenir comte de simple et double quote et des parentheses
voila
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 18h19   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
$string = 'require (\'truc\');
include (\'coco\');
 
protected static function Singleton($instance_id = null){
      if(!isset(self::$_instance[$instance_id])){
         if(!class_exists($instance_id)){
      return (boolean) false;
         }
         self::$_instance[$instance_id] = new $instance_id();
      }
      return self::$_instance[$instance_id];
   }';
 
echo preg_match_all('#(?:require|require_once|include|include_once)[ \n\t]*\([ \n\t]*([^)])#Uis', $string, $matches);
 
?>
Ensuite, je te laisse le soin de parcourir le tableau $matches en appliquant trim() pour te débarrasser des apostrophes et autres guillemets.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h03.


 
 
 
 
Partenaires

Hébergement Web