Bonjour,

alors, dans une boucle je parcours un tableau et je souhaite y faire un traitement. Le code ci dessous me donne le résultat de la citation qui suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
for ($i=3;$i<sizeof($matos);$i++)
{
	$split = split('[0-9])', $matos[$i]);	
	print_r($split);	
	$count++;			
}


Array ( [0] => 1 Casque d'orc simple d'adresse! 32 28.05.2009 ) Array ( [0] => 2 Masque de Groucho Marx 18 28.05.2009 ) Array ( [0] => 3 Amulette très bonne du brandisseur de massue 155 29.03.2009 ) Array ( [0] => 4 Tablier de forgeron 11 27.05.2009 ) Array ( [0] => 5 Gilet de pingouin en cuir de force 69 31.05.2009 ) Array ( [0] => 6 Cape très bonne du brandisseur de massue! 196 6.04.2009 ) Array ( [0] => 7 Bracelets en or de l'armurier! 139 5.02.2009 ) Array ( [0] => 8 Gants en cuir d'adresse +2 15 19.04.2009 ) Array ( [0] => 9 Anneau de résistance physique +2! 305 24.04.2009 ) Array ( [0] => 10 Anneau d'adresse +2! 310 12.04.2009 ) Array ( [0] => 11 Anneau de célérité +2! 310 9.04.2009 ) Array ( [0] => 12 Anneau de force accrue +3! 715 22.03.2009 ) Array ( [0] => 13 Fléau en quartz de combat de force 73 4.06.2009 ) Array ( [0] => 14 Petit bouclier en glace éternelle! 690 29.05.2009 ) Array ( [0] => 15 Chausses léger en nicolite simple de mailles possédant le don d'adresse! 687 23.05.2009 ) Array ( [0] => 16 Bottes en cuir pressé! 77 5.05.2009 )
ce qu'il me faut, c'est récupérer le nom de l'objet uniquement. Mon problème c'est qu'il ne s'agit pas seulement de lettres (ça je sais faire) mais il peut y avoir aussi des chiffres.

ex :
Casque d'orc simple d'adresse!
Anneau de force accrue +3!

voici l'expression rationnelle que j'ai cherché et qui d'après moi ce rapproche le plus de la bonne (mais elle ne marche pas.. je n'ai aucun résultat avec..)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
$pattern='(^[a-z]+ \+[0-5]{0,})';  // l'expression rationnelle en question !
$count=0;
 
for ($i=3;$i<sizeof($matos);$i++)
{
 
	$split = split('[0-9])', $matos[$i]);	
	//print_r($split);
	$item[$count] = preg_match($pattern, $split[0]);
	print_r($item);
	$count++;			
}
Merci pour votre aide