Salut,

Cette fonction qui reçoit comme argument une chaîne, supprime toutes les sous chaîne de contenant plus de 1 'A' consécutif (à l'usage je supprimerai les espaces).
Malheureusement, la recursion fonction et s'arrête comme il faut , mais le retour PAS !

C'est surement trivial, mais je ne comprends pas et le nombre d'articles à ce sujet sur le net n'est pas énorme, pourtant la récursivité c'est bien pratique.

Voici mon code (je sais on "élève brouillon peut mieux faire )

Merci d'avance
Riete
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
 
<?php
//*******************************
// locate char A
//*******************************
function supress_Char($tab, $c, $pos){
 
	if ($pos == strlen($tab)) return;
 
	else{
		// Si le caractere de la position en cours+1 est le caractere recherche
		// le +1 c'est pour en garder 1 sinon avec $pos on les enleves tous
		if (substr($tab, $pos+1, 1) == $c){
 
			$tab = substr($tab, 0, $pos).substr($tab, $pos+1, strlen($tab)-$pos);
			echo $pos." ".$tab."<br>";
			supress_Char($tab, $c, $pos);
		}
		else{
			++$pos;
			supress_Char($tab, $c, $pos);
		}
	}
}
 
// Main program
$s = "azertyAAAAAAAAAAAAAAAAAAwxcvbnAAAfghjd";
 
	print $s."<br>";
 
	$s = supress_Char($s, 'A', 0);
 
	print "<br>".$s;
?>