Bonjours à tous,
Voilà j'expose mon problème, j'ai une chaine de caractère dans laquelle je veux chercher des valeurs selon la "clé"/valeur qu'il y a avant.
Ma variable est de ce type là:
Je tiens à préciser que c'est une version raccourcie de ma chaine
Code : Sélectionner tout - Visualiser dans une fenêtre à part C+31TYER'2007PRIV'WM/MediaClassPrimaryID¼}`Ñ#ãâK¡H¤*(DPRIV)WM/M
Je voudrais donc sélectionner la valeur qui suit TYER mais m'arrêter à la première valeur PRIV rencontrée donc obtenir dans mon exemple:
Je sais aussi que devant chacune de mes valeurs il y a des caractères à ignorer, dans mon cas 1 caractère ' mais ce nombre peux varier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part '2007
J'ai donc mon expression qui suit:
avec donc le code php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (TYER)(.){1}(.*)(PRIV)
Pour ceux qui auraient compris, je veux donc récupérer seulement la valeur en $matches[3] qui devrais être égal à 2007.
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_match( "/(TYER)(.){1}(.*)(PRIV)/", $content, $matches );
Or $matches[3] est égal àDonc mon problème est que la regex récupère le dernier PRIV qu'il trouve or j'aimerais qu'il prenne ma première.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 2007PRIV'WM/MediaClassPrimaryID¼}`Ñ#ãâK¡H¤*(D
Si quelqu'un savait comment modifier ma regex pour récupérer seulement la valeur 2007 ?
Je précise que cette valeur je ne sais pas ce qu'elle contient et de quelle taille elle est. Tout ce que je sais c'est qu'elle se termine dès que je rencontre mon PRIV.
Merci d'avance et j'espère m'être fait comprendre et n'avoir fait peur à personne
Partager