Mastronic
Messages postés94Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention13 juin 2012
-
12 sept. 2007 à 05:41
Mastronic
Messages postés94Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention13 juin 2012
-
12 sept. 2007 à 15:20
Bonjour,
j'ai cette fonction
preg_match('/'.$t1.'(.*)'.$t2.'/',$source,$resultat) qui fonctionne tres bien sauf si il y a un retour à la ligne entre les balise $t1 et $t2 ( ce que je veux recuperer )
. Point -->Remplace n'importe quel caractère, hormis le caractère de nouvelle ligne (par défaut) ;
En dehors d'une classe de caractères, un point remplace n'importe quel caractère, même invisible et à l'exception du caractère de nouvelle ligne. Avec l'option PCRE_DOTALL le point remplace n'importe quel caractère, même le caractère de nouvelle ligne. La gestion des points et complètement indépendante de <var>^</var> et <var>$</var>. Le seul point commun est que les deux ont un comportement particulier vis-à-vis des caractères de nouvelle ligne. Le point n'a pas de comportement particulier dans une classe de caractères.
J'ai donc essayé d'ecrire:
preg_match('/'.$t1.'(.*)'.$t2.'/',$source,$resultat,PCRE_DOTALL) mais la constante n'est pas reconue (je suis avec PHP 5.2.0)
il indique aussi que l'option peut être changée à l'intérieur du masque lui-même, avec des séquences mises entre "<var>(?</var>" et "<var>)</var>" donc ici (?s) ou un dérivé..
Je n'arrive pas à resoudre ce probléme.. comment faut t'il ecrire ce masque ?
D'avance Merci
A voir également:
Syntaxe des masques de preg_match() - probléme de nouvelle ligne