Bonjour à tous,

Ayant un petit soucis, je me tourne vers vos lanternes pour m'aider à le résoudre !

La situation est la suivante : j'ai une chaine de caractère dans laquelle je souhaite extraire des informations. La chaine est toujours sous la forme suivante

type="block" name="Bloc central"
Ce que je souhaite, c'est pouvoir récupérer les informations qui sont "type" et "name". Jusque là je pensais que tout allait passer comme une lettre à la poste sauf que... Non !

Je récupère correctement "name" mais ce n'est hélas pas le cas pour le "type".

Un exemple valant mieux qu'un long discours, je vous colle la partie du code qui me permet de "tenter" cette récupération et ce qui m'est affiché à l'ecran.

CODE :
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
 
foreach($array_block[1] as $values_block) {
		$name_block = get_parsed_value('/name="(.*)"/', $values_block);
		$type_block = get_parsed_value('/type="(.*)"/', $values_block);
		echo 'STRING TO PARSE : ' . $values_block . '<br />BLOCK ' . $name_block . ' TYPE ' . $type_block . '<br /><br />';
	}
 
function get_parsed_value($pattern, $page)
{
	$regs = '';
	preg_match($pattern, $page, $regs);
	if(!empty($regs[1]))
		return $regs[1];
	else
		return;
}
AFFICHAGE :
STRING TO PARSE : type="block" name="Bloc central"
BLOCK Bloc central TYPE block" name="Bloc central
Je récupère donc bien le nom mais le type me renvoie tout ce qui se trouve jusqu'à la dernière double quote !

CHAINE A PARSER :
type="block" name="Bloc central"
RENVOIE CE QUI EST EN ROUGE:
type="block" name="Bloc central"
ALORS QUE JE SOUHAITE CE QUI EST EN VERT:
type="block" name="Bloc central"
Comment puis-je "forcer" l'arrêt à la première double quote rencontrée ? Car ici il renvoie tout ce qui se trouve entre type" et la dernière ".

Merci d'avance pour votre !