Isoler un element dans une chaine de caractère (regex ? ) [Résolu]

Messages postés
151
Date d'inscription
samedi 1 novembre 2003
Dernière intervention
30 juillet 2018
- - Dernière réponse : franco_se
Messages postés
151
Date d'inscription
samedi 1 novembre 2003
Dernière intervention
30 juillet 2018
- 24 juil. 2007 à 15:42
Bonjour

Voila , j'ai une chaine de cahactère du type:
#  $chaine = 'la chaine de [item="1"]catartères/item a un nombre a isoler ';
et j'aimerais isoler et retourner le "1" contenu par la balise [item].

Je presume qu'il faille utiliser eregi et les regex, mais je n'arrive pas a les utiliser ....

Enfin, si qlq'un peu m'aider .....

Merci
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
240
Date d'inscription
samedi 21 février 2004
Dernière intervention
3 juin 2010
3
Merci
Salut,

il faut au préalable vérifier que la séquence "item" précède bien la séquence entière.
En complétant le masque de



vilhjalms, on obtient :

<?php
   $string = 'la chaine de [item="1"]caractères/item a un nombre à isoler';
   $pattern =



'#\[item="(\d+)"\]#i';





   echo (preg_match($pattern, $string, $matches) == 1) ? $matches[1] : '';
?>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DiGhan
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Dernière intervention
16 juillet 2009
0
Merci
Saell og blesuð

echo preg_match('`"(.+?)"`',$chaine);

Vilhjálms
Sigurðsdóttir aka Frëyjá
Commenter la réponse de vilhjalms
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Dernière intervention
16 juillet 2009
0
Merci
Saell og blesuð

Oula fatiguee moi :/

preg_match('`"(.+?)"`',$chaine,$result);
echo $result[1];

Vilhjálms
Sigurðsdóttir aka Frëyjá
Commenter la réponse de vilhjalms
Messages postés
151
Date d'inscription
samedi 1 novembre 2003
Dernière intervention
30 juillet 2018
0
Merci
merci beaucoups ! :)
Commenter la réponse de franco_se

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.