begin process at 2012 02 15 20:37:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

syntaxe des masques de preg_match() - probléme de nouvelle ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

syntaxe des masques de preg_match() - probléme de nouvelle ligne

mercredi 12 septembre 2007 à 05:41:53 | syntaxe des masques de preg_match() - probléme de nouvelle ligne

Mastronic

Membre Club

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 )


la doc ( [ Lien ])  dit:

pour le masque (.*)

. 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 ^ et $. 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 "(?" et ")"   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

 

mercredi 12 septembre 2007 à 15:20:10 | Re : syntaxe des masques de preg_match() - probléme de nouvelle ligne

Mastronic

Membre Club
Réponse acceptée !
je remerci sparko du tchat (IRC) pour m'avoir donner la réponse.

En fait il faut utilisé l'option gourmant 's' et ensuite le restreindre par un ? dans la parenthése...  

ce qui donne:  

 preg_match('/'.$t1.'(.*?)'.$t2.'/s',$source,$resultat)

$t1 et $t2 etant les balise qui delimite ce que l'on veut detecté.



Cette discussion est classée dans : ligne, caractère, probléme, preg, match


Répondre à ce message

Sujets en rapport avec ce message

preg_replace [ par Tomcube ] Est-ce que quelqu'un pourrait me modifier cette ligne pour la faire accepter les retours à la ligne (\n), j'ai trop de mal avec les masques ! $text = Métacaractères... [ par mfaraday ] Salut...Est-ce que quelqu'un pourrait m'expliquer comment utiliser les métacaractères dans un profil de recherche pour la fonction preg_match par exem Masque pour preg_match() ... Aidez-moi ! [ par LocalStone ] Alors, j'expose le problème : J'ai 1 fichier texte qui contient des ligne du style : 0004 - Chu Chu Rocket (J)Donc le masque approprié pour sépare limiter le nombre de caractère dans une ligne d'un textarea!!! [ par daveda ] bonjour,savez-vous comment limiter de nombre de caractère dans une ligne qui est dans un textareacar quand je tape un texte dans le textarea sans mett Problème avec preg_match_all [ par Bountard ] Salut à tous, j'ai un petit problème avec l'utilisation de preg_match_all. Pour faire plus simple voila mon bout de code d'essai :   $html = ' un Preg_match_all , soucis d'utilisation [ par Bountard ] Bonjour à tous, j'ai un problème depuis quelques jours avec preg_match_all. Voila mon code : $html = ' un deux un bis Probléme de pattern [ par SA7BOOCH ] Bonjour,J'ai un probléme de pattern, je veux découper une chaine de caractére pour faire une recherche sur chaque partie de cette chaine.les caractére utilisation de preg_match [ par joebuz ] bonjour, voila j'ai 4 type de phrases (pour l'instant) et je veux en extraire le morceau compris entre // et //1- $phrase = "salut visiteur //act_001. Preg_match [ par w_minisplash_w ] Bonjour à tous,Voici mon problème :J'ai une chaine './dossier_1/dossier_2/....../dossier_n'Je veux en extraire dossier_nJ'ai donc essayé avec preg_mat info ligne de commande [ par ianthorpe62 ] slt tout le monde, g cette ligne de code qui fonctionne : preg_match_all("/(]*>)(.*)()/", $texte_html, $matches, PREG_SET_ORDER);  mais je ne compren


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales