Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/04/2008, 16h02   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 10
Points : 3
Points : 3
Par défaut Récupérer le texte inclus entre deux balises custom

Bonjour,

Entrons directement dans le vif du sujet, voici mon problème :

J'ai une chaine de caractère (un texte long en fait) dans lequel se trouve à plusieurs endroits du texte contenu entre des balises {cat} et {/cat}.
Il faudrait que je puisse récupérer les sous chaînes contenues entre ces deux balises dans un tableau.

exemple :

$chaine = "blablablabla {cat}truc{/cat} blibliblbilbi blibli blibliblbi {cat}chose{/cat} blublub blub balablalalala {cat}machin{/cat}";

Je voudrais récupérer un tableau contenant dans l'ordre "truc", "chose" et "machin".

J'ai essayé de regarder du côté de la fonction preg_match_all() en PHP qui est censée retourner un tableau mais j'ai énormément de mal à rédiger la regex qui correspond à mon masque {cat}{/cat}.

Ma reconnaissance infinie à qui pourra m'aider.
setblue est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 08h29   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 571
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 571
Points : 2 526
Points : 2 526
Salut, tu peux essayer ceci
Code :
1
2
3
4
5
6
$pattern = '`\{cat\}(.*)\{/cat\}`U';
$subject = 'blablablabla {cat}truc{/cat} blibliblbilbi blibli blibliblbi {cat}chose{/cat} blublub blub balablalalala {cat}machin{/cat}';
preg_match_all($pattern, $subject, $matches);
foreach ($matches as $match) {
  echo $match[1];
}
Je n'ai pas pu tester

Bon développement
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 08h36   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 10
Points : 3
Points : 3
Merci Nesmontou !

Tu as donc ma reconnaissance infinie
setblue est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web