Bonjour,

Je suis étudiant en 3éme année informatique, et je prépare mon projet de fin d'étude.
Je doit programmé une fonction qui devra traiter un document texte, elle devra le taguer (inseret des balises a des emplacements spécifiques).
Jai établis une structure de données qui résume les emplacement des tagues avec leur expressions réguliéres. voici un bout :

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
$table = array(
	'journal_officiel' => array(
		'debut' => '#JOURNAL OFFICIEL DE LA REPUBLIQUE ALGERIENNE N°[0-9]+#',
		'fin' => '...',
		'is_basic' => FALSE,
		'constitution' => array(
			array('name' => 'big_tag_sommaire', 'occurence' => '1'),
			array('name' => 'big_tag_contenu', 'occurence' => '1'),
			'occurence' => '1'
		)
	)
 
	'big_tag_sommaire' => array(
		'debut' => '#SOMMAIRE[^a-z]#',
		'fin' => '...',
		'is_basic' => FALSE,
		'constitution' => array(
			array('name' => 'tag_categorie', 'occurence' =>  '1'),
			'occurence' => '+'
		)
	)
)

Maintenan dans la fonction qui va parcourire le contenu du document texte, il y a une variable qui va recevoire le nom du tag $nom_tag et elle verifira les clés des regéx 'debut' et 'fin' dans le contenu, ça c bon jai réussi a le faire. maintenan une fois dans la constitution du tag en cours c un array qui contien les tagues imbriqué dans le préceden, je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$element_fils = $nom_tag['constitution'];
foreach ($element_fils as $fils){
$nom_tag = $fils['name'];
}

et la jaimerai refaire le même traitement de l'$element_fils.
Voici un exemple:

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
function robot($table, $journal){
 
	$nom_tag = $table[$cle]; // dans la structure: journal_officiel
 
	foreach($nom_tag as $cle => $val){
		if(!is_array($cle)){
                        $count = 1;
			$journal = preg_replace($nom_tag[$cle], '<'.$nom_tag.'>$0</'.$nom_tag.'>', $journal, $count);
		}
		else{
			$element_fils = $nom_tag['constitution'];
 
				foreach($element_fils as $fils){
					$nom_tag = $fils['name']; // sommaire
					$count = $fils['occurence'];
				}
			}	
		}
	}
 
}

je voudrai que la fonction traite le sommaire de la méme façon que le journal_officiel.
et je n'est aucune idée sur comment faire en sorte que la fonction passe du journal_officiel au sommaire ??????
Merci d'avance pour votre aide.