\s n'est pas une option mais un métacaractère. Si tu en as besoin, il faut l'utiliser !
Par contre, il est inutile de le mettre systématique dans des parenthèses capturantes. (\s)* et \s* reviennent au même si tu ne veux pas capturer les espaces.
Pour ta regex, je te conseillerais ceci :
	
	#<\s*img.+?src\s*=\s*"?(\S+?)"?#i
 qq détails :
- .+? : n'importe quel caractère (.), répété plein de fois, mais s'arrêtant au prochain src (+? est un quantificateur paresseux, alors que + est gourmand et pourrait avaler plusieurs balises d'un coup).
 
- "? : guillemet facultatif
 
- (\S+?) : série de caractères non-blancs, qui sera coupée par le prochain " ou le prochain blanc (espace, retour à la ligne, tabulation, etc)
 
- i final : modificateur (ou "option") rendant la regex insensible à la casse, afin que img et IMG fonctionnent tous les deux.
Pour les conseils : lire le O'Reilly de Jeffrey Friedl, la bible absolue sur la question, excellente quel que soit ton niveau.
						
					
Partager