A voir également:
- [PHP][EREG]Comment extraire un div
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Easy php - Télécharger - Divers Web & Internet
- Extraire image pdf - Guide
- Extraire fichier rar - Guide
3 réponses
Pour avoir cherché un bon moment ce genre de chose je poste une réponse puisque ce forum ressort dans les premier :
Donc si tu as par exemple :
Et que tu veux récupérer seulement le contenu de la balise menu tu peux utiliser la fonction preg_match_all.
La syntaxe est :
Ceci te prendra que le contenu du div menu et s'arrêtera au premier </div> et non au dernier comme la fonction ereg ...
Donc si tu as par exemple :
<div id="menu">contenu de la balise menu</div> <div id="menu2">contenu de la balise menu2</div>
Et que tu veux récupérer seulement le contenu de la balise menu tu peux utiliser la fonction preg_match_all.
La syntaxe est :
preg_match_all("#<div id=\"menu\">(.*)</div>#", $mon_texte, $return);
Ceci te prendra que le contenu du div menu et s'arrêtera au premier </div> et non au dernier comme la fonction ereg ...
alexlink
Messages postés
398
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
24 juin 2008
42
12 avril 2005 à 16:54
12 avril 2005 à 16:54
Le * selectionne tous, même le </div>.
Je ne connait pas trop les regex, mais tu devrais soustraire à ce * les </div>.
Je ne connait pas trop les regex, mais tu devrais soustraire à ce * les </div>.
alexlink
Messages postés
398
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
24 juin 2008
42
>
Gerard Klein
13 avril 2005 à 14:30
13 avril 2005 à 14:30
Ah c'est bizarre ça ..... ^ ça veut dire sauf ?
Bah .... y'a pas une expression qui arrête le travail de la fonction à </div> ? ( avec tous les symbôles disponibles en regex, il doit bien y en avoir un qui fait ça :) ).
Bah .... y'a pas une expression qui arrête le travail de la fonction à </div> ? ( avec tous les symbôles disponibles en regex, il doit bien y en avoir un qui fait ça :) ).
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
12 avril 2005 à 17:20
12 avril 2005 à 17:20
Moi je te propose de couper la fin de ta chaine puisque c'est ca que tu veux oter non ?
C'est sur c 'est pas trop optimisé comme reponse mais en attendant, si tu veux pas trop t'éterniser la dessus !
Bonne chance
++
C'est sur c 'est pas trop optimisé comme reponse mais en attendant, si tu veux pas trop t'éterniser la dessus !
Bonne chance
++
Gerard Klein
>
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
12 avril 2005 à 17:30
12 avril 2005 à 17:30
Merci kij pour ta réponse.
Oui, c'est en effet une solution possible.
Malheureusement, et comme tu le souligne, c'est pas trop optimisé, et compte tenu du grand nombre de page à traiter, cela me serait préjudiciable...
Cependant, ça reste une bonne solution temporaire !
@+
Oui, c'est en effet une solution possible.
Malheureusement, et comme tu le souligne, c'est pas trop optimisé, et compte tenu du grand nombre de page à traiter, cela me serait préjudiciable...
Cependant, ça reste une bonne solution temporaire !
@+
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
>
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
12 avril 2005 à 19:56
12 avril 2005 à 19:56
Salut,
Je rencontre parfois le même problème que toi. C'est à dire que l'expression ne prends pas les blocs un par un mais le plus gros bloc qui correspond à l'expression.
Je n'ai toujours pas trouvé de solution à ça , c'est dommage que les expressions régulières n'aient pas d'opérateur de négation, ce serait bien pratique....
Mais je suis sûr qu'il ya une parade à celà....
Je rencontre parfois le même problème que toi. C'est à dire que l'expression ne prends pas les blocs un par un mais le plus gros bloc qui correspond à l'expression.
Je n'ai toujours pas trouvé de solution à ça , c'est dommage que les expressions régulières n'aient pas d'opérateur de négation, ce serait bien pratique....
Mais je suis sûr qu'il ya une parade à celà....